removed any getattr checks. Always check the class __dict__. getattr
will do mro and grab from superclasses
eparated out the BubbleDown logic