Refactor to Command Processor

Reworked all commands and added generic handling to command processor