Use mixin module instead of subclassing