1. A method comprising: receiving an indication of a current state of a client; monitoring resource availability of a server; determining a set of pre-computed actions based on at least one possible future state of the client and based on the resource availability of the server; and communicating the pre-computed actions to the client from the server prior to receiving client selection of an action.