Major Refactoring and Dependency Is Resolved so that objects can be passed externally and tested`