def register(path, name, options = {}, &block)
      path = path.to_s
      name = name.to_s
      prefix = path[-1]

      insure_path(path, name, options)
      return unless block_given?

      calls[path] = Command.new(prefix, name, options, &block)
    end
def register(path, name, options = {}, &block)
      path = path.to_s
      name = name.to_s
      prefix = path[-1]

      insure_path(path, name, options)
      return unless block_given?

      calls[path] = Command.new(prefix, name, options, &block)
    end
register a `path` to a `name` with a block of code if
 you wish it to be a command, the following `options` are
 supported:
 desc: a description of the item, as a help text for the user