Asynchronous Trigger
This crate provides a SPMC barrier where any number of parties can wait for a single other party to complete an action.
Additionally, a promise implementation is provided, implemented in terms of the trigger, that allows any number of parties to wait for a single producer to generate a value.