Restructured packages and introduced interfaces
Refactored services into factories