PSR 1,2,4 compliant, namespaced, dependency injected