Эта часть задания не выполнена.

Для примера, как можно было изолировать код в модуль, посмотрите https://github.com/grsu/april-4-test/commit/199ad291c23dbc1bf7967c0bd53d8f83eeb51fd6