def command(name, &block)
			SimpleCommander::Command.new(name).tap do |cmd|
				add_command(cmd) if block
				cmd.super_self = self
				cmd.instance_eval &block if block
			end
			@commands[name.to_s]
    end
def command(name, &block)
			SimpleCommander::Command.new(name).tap do |cmd|
				add_command(cmd) if block
				cmd.super_self = self
				cmd.instance_eval &block if block
			end
			@commands[name.to_s]
    end
Creates and yields a command instance when a block is passed.
 Otherwise attempts to return the command, raising InvalidCommandError when
 it does not exist.

 === Examples

   command :my_command do |c|
     c.when_called do |args|
       # Code
     end
   end