defcommand also should create a function, not just the class
Use a hash-table for *available-commands*

I prefer this implementation because keeping uniques is much easier
ws
Use a hash-table for *cancel-commands*