Стремился к простому короткому решению без нагромождения экземпяров классов, но не выходит.