Improvements on mapping functionality

* reduce number and duplication of events due to mappings
* calculate mappings on demand rather than as observables
Trivial fix to restrict models to their proper list