Instead of having if calls for each case, can be encapsulate the each condition inside a strategy class? That way, this could would be reduced to `handler.execute()` where the handler is typed for each case.