1. A system for providing context sensitive help for an electronic device, the system comprising: a central processing unit; a data storage device; an application attributes discovery module providing one or more attributes associated with an application running on the electronic device, wherein the attributes include the name and type of application running; a system state discovery module providing system discoverable state information associated with components of the electronic device; a help infrastructure module using the system information and the attributes to determine a help context set, the help context set being determined at a time a user invokes a request for help; a help context mapping module, the help context mapping module being included on the electronic device and being external to the application's executable code on the electronic device, the help context mapping module including one or more application contexts, wherein the help context mapping module contains mapping tables, wherein the mapping tables are contained in XML files, the application contexts including one or more first help topic identifiers mapped to one or more first help topics, each of the application contexts including one or more context nodes, each of the one or more context nodes being associated with system state information, each of the one or context nodes including one or more second help topic identifiers mapped to one or more second help topics, at least one of the first help topic identifiers being an identifier associated with the application running on the electronic device and at least one of the second help topic identifiers being associated with the discoverable system state information as related to the application running on the electronic device, the first help topic identifiers associated with the discoverable system state information being different than the second help topic identifiers associated with the application running on the electronic device; a help topic collection module providing the first help topics and the second help topics, the help topic collection module being external to the application's executable code; and a help viewer, the help viewer displaying the help topics; wherein the help infrastructure module obtains a best match between the help context set and an application context and wherein help topic identifiers are selected for mapping to help topics based on this best match.