weakref: use .As<Object>() everywhere