added a factory, repository, and invoker class along with interfaces for the main command class that will interact with the request class