predic object dm design dsgr model facad namespac dm problem collect sub model facad own element dm collect object class arrai list object object sub model facad class add class size threshold problem problem 