add nonobject versions of callback