It's a good hack and all, but you didn't actually solve the real problems. Most of which ahould be solved with server side logic[0], something I'm guessing your service can't do?
I guess it would be more as a concept than technically. That is, you could send to a specific peer through the server. That way you could have only the messaging logic on the server and the game logic on the clients.
The clients would then (again theoretically) be able to agree on a game state, optimize messaging and the other things you would normally do on the server.
[0] It could theoretically be done p2p.