Refactored mixins

DRYed up a bunch of code
Merge pull request #6 from dockyard/bc-refactor-mixins

Refactored mixins