I often have to send messages to the client from some part of the state - usually someplace in the player logic (eg. when the player gets hit). To do this I must pass the room object to the state object which then passes it to the player objects which can then call the room's methods. This always feels a bit hack-ish as I am calling methods from places where they shouldn't be. Is there a way that I can organize things a bit more elegantly or is this the intended way for messages to be sent?
Thanks in advance.