Refactor ChatExecutor, move all commands to own classes.