mixin behaviours rather than prototype them