class Thor

def self.maxima

def self.maxima
  @maxima ||= begin
    max_usage = tasks.map {|_, t| t.usage}.max {|x,y| x.to_s.size <=> y.to_s.size}.size
    max_desc  = tasks.map {|_, t| t.description}.max {|x,y| x.to_s.size <=> y.to_s.size}.size
    max_opts  = tasks.map {|_, t| t.opts ? t.opts.formatted_usage : ""}.max {|x,y| x.to_s.size <=> y.to_s.size}.size
    Struct.new(:description, :usage, :opt).new(max_desc, max_usage, max_opts)
  end
end