A system comprising: a communication module to send a request for device data to a user device, the request including a specification of a type of data or a location of a data store to access, and to receive, from the user device, device data indicating a device attribute of the user device, the device data having been accessed at the user device in accordance with the specification in the request; an identification module, implemented by at least one hardware processor of a machine, to use the received device attribute to identify the user device according to an identification rule that specifies a particular device attribute; a state module to: receive, from the user device, a client state indicating a status of a task, and determine that the client state matches a specified state; and an instruction module to: generate an instruction associated with the task to be performed at the user device based on the client state matching the specified state and based on the received device data, wherein the instruction comprises a process flow to be completed at the user device, and cause performance of the instruction at the user device, wherein performance of the instruction comprises presenting the process flow on a second user interface overlaid on top of a first user interface of an application thereby preventing a user from interacting with the first user interface of the application until completion of the process flow by interaction of the user with user interface elements of the second user interface, the performance of the instruction thereby causing a change to the client state stored on the user device. a communication module to send a request for device data to a user device, the request including a specification of a type of data or a location of a data store to access, and to receive, from the user device, device data indicating a device attribute of the user device, the device data having been accessed at the user device in accordance with the specification in the request; an identification module, implemented by at least one hardware processor of a machine, to use the received device attribute to identify the user device according to an identification rule that specifies a particular device attribute; a state module to: receive, from the user device, a client state indicating a status of a task, and determine that the client state matches a specified state; and receive, from the user device, a client state indicating a status of a task, and determine that the client state matches a specified state; and an instruction module to: generate an instruction associated with the task to be performed at the user device based on the client state matching the specified state and based on the received device data, wherein the instruction comprises a process flow to be completed at the user device, and cause performance of the instruction at the user device, wherein performance of the instruction comprises presenting the process flow on a second user interface overlaid on top of a first user interface of an application thereby preventing a user from interacting with the first user interface of the application until completion of the process flow by interaction of the user with user interface elements of the second user interface, the performance of the instruction thereby causing a change to the client state stored on the user device. generate an instruction associated with the task to be performed at the user device based on the client state matching the specified state and based on the received device data, wherein the instruction comprises a process flow to be completed at the user device, and cause performance of the instruction at the user device, wherein performance of the instruction comprises presenting the process flow on a second user interface overlaid on top of a first user interface of an application thereby preventing a user from interacting with the first user interface of the application until completion of the process flow by interaction of the user with user interface elements of the second user interface, the performance of the instruction thereby causing a change to the client state stored on the user device.