Refactor ContextViews to use superclass