+ observer passing object
+ dynamic renderer