1. A system comprising a processor; a device interface; a nonvolatile storage medium coupled to the processor, the nonvolatile storage medium including a stored application image; a data relay transceiver; and a memory coupled to the processor, wherein: the memory includes at least a shared memory space, a boot portion, and an application portion; the boot portion includes code that when executed by the processor may modify the application portion, wherein: the boot portion includes a boot startup executable code, a boot main executable code, and a boot interrupt service routine code; and the application portion includes an initial application image comprising application startup executable code, an application main executable code, and an application interrupt service routine code; and the memory stores instructions that, when executed by the processor, cause the processor to: execute code within the boot main executable code to determine that the initial application image requires updating; retrieve the stored application image from the nonvolatile memory; overlay the application portion with the retrieved application image; and transfer execution control from the boot main executable code to the overlaid application startup code in the application portion wherein said transfer execution control further comprises overlaying a starting address for a boot reset routine to an address for the application startup executable code within the overlaid application image.