Added Spring to use dependency injection which will allow for better testing support
Refectored code increase use of DI.