Refs #1 - Extract logic into mixins.