Primary(progressTracker: ProgressTracker = Primary.tracker())
Abstracted bilateral deal protocol participant that initiates communication/handshake.
Theres a good chance we can push at least some of this logic down into core protocol logic and helper methods etc.