Finally someone who gets it! :)
The main issue is having methods doing multiple things--often implemented using if-else.
If-else has become the de facto hammer and nail making up for poorly designed systems.
Ofc, in this case, with such few properties being boolean tested on, this solution is greatly over-engineered!