A computer-implemented method, comprising: receiving, by a personal assistant module operated by a resource-constrained device, a request, wherein the resource-constrained device is a user device; uploading, by the personal assistant module, data indicative of the request to an online semantic processor; receiving, by the personal assistant module at the resource-constrained device and from the online semantic processor in response to uploading the data indicative of the request, data representing a state machine comprising a plurality of candidate states (524 1, 524 2, 524 3, 524 4) of the personal assistant module, wherein each candidate state is potentially responsive to the request; and implementing, by the personal assistant module at the resource-constrained device, the state machine represented by the received data, wherein implementing the state machine, by the personal assistant module at the resource constrained device, includes: analyzing, by the personal assistant module at the resource constrained device, one or more resources local to the resource-constrained device to ascertain one or more signals unavailable to the online semantic processor; and transitioning, by the personal assistant module at the resource-constrained device, without receiving disambiguating input from a user of the resource-constrained device, past a first state (524 1) of the plurality of candidate states to a second state (524 2) of the plurality of candidate states, wherein the transitioning is based on the one or more signals, and wherein the first state comprises an output to be delivered by the personal assistant module that solicits one or more disambiguating inputs required for transition from the first state to the second state. receiving, by a personal assistant module operated by a resource-constrained device, a request, wherein the resource-constrained device is a user device; uploading, by the personal assistant module, data indicative of the request to an online semantic processor; receiving, by the personal assistant module at the resource-constrained device and from the online semantic processor in response to uploading the data indicative of the request, data representing a state machine comprising a plurality of candidate states (524 1, 524 2, 524 3, 524 4) of the personal assistant module, wherein each candidate state is potentially responsive to the request; and implementing, by the personal assistant module at the resource-constrained device, the state machine represented by the received data, wherein implementing the state machine, by the personal assistant module at the resource constrained device, includes: analyzing, by the personal assistant module at the resource constrained device, one or more resources local to the resource-constrained device to ascertain one or more signals unavailable to the online semantic processor; and transitioning, by the personal assistant module at the resource-constrained device, without receiving disambiguating input from a user of the resource-constrained device, past a first state (524 1) of the plurality of candidate states to a second state (524 2) of the plurality of candidate states, wherein the transitioning is based on the one or more signals, and wherein the first state comprises an output to be delivered by the personal assistant module that solicits one or more disambiguating inputs required for transition from the first state to the second state. analyzing, by the personal assistant module at the resource constrained device, one or more resources local to the resource-constrained device to ascertain one or more signals unavailable to the online semantic processor; and transitioning, by the personal assistant module at the resource-constrained device, without receiving disambiguating input from a user of the resource-constrained device, past a first state (524 1) of the plurality of candidate states to a second state (524 2) of the plurality of candidate states, wherein the transitioning is based on the one or more signals, and wherein the first state comprises an output to be delivered by the personal assistant module that solicits one or more disambiguating inputs required for transition from the first state to the second state.