http://stackoverflow.com/questions/925609/mixins-vs-traits