Update to add callback ability