Added support for constructor arguments and multiple constructor overloads
Added named services and improved code