Wip sip23 √

I think the `onComplete` callback is important to have. It's the low-level building block for everything else. I've never used `onSuccess` and `onFailure` myself.