class ViewModel

def attributes(*attrs, **args)

accessors and assigned in order by the default constructor.
bit easier to define them: attributes specified this way are given
ViewModels are typically going to be pretty simple structures. Make it a
def attributes(*attrs, **args)
  attrs.each { |attr| attribute(attr, **args) }
end