1. A system, comprising: a processor, and a memory, wherein the memory comprises program instructions executable by the processor to implement: a plurality of independent application components, wherein each of the plurality of application components is an independent portion of a respective software application and executes a service or user interface of the respective software application, and wherein at least one of the plurality of application components is an independent portion that is less than an entire respective software application; and a task grouping mechanism configured to provide a task grouping user interface comprising a plurality of application component representations, wherein each application component representation corresponds to one or more of the application components, and wherein at least two of the plurality of application component representations correspond to application components that are independent portions of different software applications; wherein the task grouping user interface is configured to allow user selection of a plurality of the application component representations; wherein the task grouping mechanism is further configured to include in the plurality of application component representations one or more application component representations dependent on a user's current context, wherein the user's current context comprises current activities of the user; and in response to said user selection, the task grouping mechanism is further configured to associate, as a single task group of application components used to complete a task, application components corresponding to the selected application component representations, wherein the single task group of associated application components comprises at least two associated application components that are independent portions of different software applications, and wherein the single task group of associated application components is configured to be user manipulated to act as a single unit to complete the task.