Changes to the model are only propogated when applyChanges() is called,
and only if changes have been made
Changes are now applied at the beginning of a render frame