add ability to retrieve callback return values