Change package structure
Add interfaces
Inject dependencies to constructors