1. A method for detecting software application usage on a client device, the method comprising the steps of: categorizing components of applications that are instantiated on the client device, the categorization being performed based on at least one of usage pattern of the components or correlation of the components to active usage; providing the categorized components as elements in a usage manifest that is published to the client device; and implementing a software usage detection service on the client device, the software usage detection service arranged for monitoring one or more of the components according to the usage manifest to detect usage of the applications.