push returns new ref if argumnts.length == 0 rather than !value
broke out QueryP interface, fixed delegateFunction, added onDisconnect wrapper