Traits: inheritance for JavaScript