simple syntax improvements
fix typo issues
remove unused code
Delegate behaviour of singleton to another object for testability reasons.