Getting pretty close to finishing that clean up now. No wonder I was confused, I had like 3 classes responsible for server-level RPC proxying.
Not sure how hard I'll try to make all the RPC-level messages LSP compliant once I start seeing cross-process comms working, but I want to at least have the correct error codes for the appropriate exceptions.
Actually I should try very hard to stick to the protocol. Very.
Got the shutdown protocol figured out, working out the App-level composition (still no IoC container going on). I like that the compiler errors that remain are telling me exactly what needs to move to dedicated (per functionality) folders in Rubberduck.RPC