It intermingles properties of the model domain with that of implementation domain. No sharing of common behavior. Metaobjects solve this problem by separating the domain specific properties of objects from their behaviour specific properties.[15]