Introduce DI (guice) and CRUD decoupling