Спасибо за ваше мнение! Согласен, я просто «свитчер» из C#, писал по долгу учебы огромный формальный проект и ООП просто впечаталось в кровь) Так много паттернов применил ради двух целей — обучения и причесывания логики кода к привычному в языках со строгой типизацией. Что хотелось бы мне самому отметить в своей работе — это больший функционал (группирование и резиновую шкалу), и рекурсивный алгоритм формирования графика (функция вызывает саму себя при прохождении всех чайлдов). Я надеялся, что именно алгоритмический подход отметят при оценке работы, и на него делал ставку, так как большими знаниями JS не обладаю — фактически, это моя первая на нем работа.
Я сам негативно смотрю на рекурсию в реальных проектах, это был по сути showcase, так как задача чисто синтетическая и методы решения аналогичны. Согласен в том, что это оторвано от реальности — но понять, как мыслит человек можно и по такой. Наверное, стоило не выделываться и следовать принципу KISS :)