Complete refactoring: Introducing Namespace  and make use of composer's autoload facility