Currently broken!  Working on more flexible object definition commands.
Commands are now defined by CommandInterpreter objects rather than a hard-coded if/else chain.