Heavily simplify state synchronisation by moving all Maestro.Core code into the server. Ship the server with the plugin for offline use.
Alternatively, abstract it away such that all communication between Plugin and Core happens through an IMaestroClient, with an in-memory and remote variant to facilitate online and offline modes.
This will significantly improve the developer experience, and make plugin development for alternative clients (maybe EuroScope) much easier.