Client: Split the program file into new and old.
Request prioirty infrastructure (but no actual prioritization).
SharedProtocol: Reorganize namespaces, IO, Settings.
SharedProtocol: Factor out priority queue.
SharedProtocol: O(n) priority queue.