Refactored command handling
Command handling is now split up into multiple classes. Does still need improvement but it's better than before.