mutable on_complete = fun () -> ()