Rework routers/viewsets and view mixins