Нет у него запихивания разных решений в одно. Сначала он разделяет задачу на две более простых, а потом оставляет одну реализацию для первой задачи и N реализаций для второй. Упрощение в том, что размножить (реализовать N способами) пришлось лишь реализации задачи второй. Плюс, декомпозиция задач упрощает аудит, тестирование и дальнейшнее развитие.