1. A method of managing mobile device software, comprising: providing an interface between a plurality of software module handlers and a plurality of heterogeneous software modules; and responsive to a software module event corresponding to installation, removal, activation, or modification of one or more of the software modules: invoking the interface; using the interface to identify the software module and a corresponding attribute list associated with the software module event, wherein the attribute list specifies one or more actions to be taken by at least one of the software module handlers that enable the identified software module to provide one or more functions when invoked; distributing the attribute list from the interface to each software module handler identified in the attribute list; and taking each action specified in the attribute list by the corresponding software module handler to ensure interoperability of the software modules, wherein taking each action specified in the attribute list comprises implementing one or more run-time characteristics of the software module associated with the software module event to determine whether the software module associated with the software module event is compatible with one or more different ones of the software modules.