Refactor ALL the commands!

Hopefully this won''t break too much of what you're writing ...