1. A self-propelled device comprising: a drive system operable to accelerate and maneuver the self-propelled device; at least one processor; and a memory storing instructions that, when executed by the at least one processor, cause the at least one processor to: establish a communication link with a controller device, the controller device being operable by a user to remotely control the self-propelled device; determine a signal latency in the communication link; receive, over the communication link, a computer code package from the controller device, wherein a content of the computer code package is based at least in part upon the determined signal latency; and execute the computer code package to perform one or more processing operations.