Add layer of abstraction for commands. Format / cleanup source