Add event-driven, asynchronous callbacks