Moved model creation to a factory which enforces caching mesh data, renamed to model