Refactor if/else cascades with Binding intf & implementations