Create ModuleViewMixin to avoid repetition