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