An attempt to instill dependency injection to the project

Using standard JSR330 annotations on some of the key components of the project.