As seen in one of the Sibelius macros added in a28af61. The current websocket client implementation sends all messages sequentially without waiting for a response from each message. As a result, commands/plugins that need to block (i.e. wait for user input) do not process correctly because Sibelius has already received the next message and starts processing it as soon as it can instead of waiting for the blocked event to finish.