Вот тут я разнес проект по файлам. Посмотрите пожалуйста кому оно интересно, буду признателен за любые советы и замечания. Что интересует в первую очередь: правильность подхода, корректность имен объектов, описание типов данных, форматирование, каменты.
Спасибо!