What about not "this" objects. In fact would work on constructors or does it need the reference. If constructors worked it would be a lightweight way to lazy initialize unknown objects (already possible with callable i guess).