And I agree that this mixin is doing quite a lot. I'll trim it down.