class Commander::Command

def call(args = [])

def call(args = [])
  object, meth = @when_called[0, 2]
  meth ||= :call
  options = proxy_option_struct
  case object
  when Proc then object.call(args, options)
  when Class then meth == :call ? object.new(args, options) : object.new.send(meth, args, options)
  else object&.send(meth, args, options)
  end
end