basic implementation of common viewer mixin

Implements basic common viewer mixin

Closes #32 

Common styling will be completed in #37