Previously, calls to send()' command in McuManager were not returned in-order. They were returned as they were returned by CoreBluetooth, leaving the re-ordering to higher-levels. But now, McuManager now buffers callbacks in case it detects a different Sequence Number it's not expecting, and keeps the results and the callbacks until it has enough stored results to return them in-order.
Previously, calls to send()' command in McuManager were not returned in-order. They were returned as they were returned by CoreBluetooth, leaving the re-ordering to higher-levels. But now, McuManager now buffers callbacks in case it detects a different Sequence Number it's not expecting, and keeps the results and the callbacks until it has enough stored results to return them in-order.