first pass at a DRY slug mixin