[design-patterns] Ways to eliminate switch in code