1. A computing device with an embedded microprocessor or micro-controller, in which a software stack comprises a content manager, and a runtime environment positioned in the stack above or together with a hardware abstraction layer; wherein the content manager is not specific to any one design of runtime environment or hardware abstraction layer, so that several different designs of runtime environment and/or hardware abstraction layer can each operate with the same content manager.