so, we went with callbacks, like what you get in the browser