Refactoring the project structure, Creating interfaces for functionality
classes, creating of the enumeration class