first pass at generalized ModelView container

so far it's only used by the PTA view system