This probably should be a property which defers down to `self.mesh.mats` rather than an attr.  That way `self.mesh_mats` cannot be out of sync with the the actual mesh object.