Delegate

fun Delegate(didOpen: CompletableDeferred<Unit>, didClose: CompletableDeferred<Unit>)