Move common logic into drawable mixin