Structural Update

Added CommandsFactory class and added structural designs for some of the
3 main classes - including rearranging includes, as well as, adding
methods.