Why do we not process callbacks in the order they are sent to us? That said...if there is an outstanding decide request, why do we not queue all callbacks and fire them all off once the outstanding decide request returns? THAT said...I feel as though this whole polling mechanism causes all this complex state...we should push to a NotificationListener...