properly functioning test objects, using the execution_context parameter
updated the fire_event and add_callback functions to properly handle being passed an execution context for the callback