MVC и модульное разделение.
Что сделано:
1. Модель optics дополнена конструкторами и другими методами.
2. Добавлена модель storage.
3. Утилита numbers переквалифицирована в typing, т.к. по своему смыслу содержит методы для типизации переменных.