Чудненько завелось.

Осталось условия задачи вынести в конфиг на json.
И дописать оставшиеся методы.