Element.implement({
  classes: function() { return this.className.split(/\s+/) },
  updated: function() {
    Element.behaviour_builders.each(function (fun) { fun.apply(this) }.bind(this))
    return this
  }
})
$extend(Element, {
  behaviour_builders: [],
  behaviour: function(fun) { this.behaviour_builders.push(fun) }
})

