You might want to add some mixins to make this easier (now and for future changes).