1. A method of task orchestration of user tasks to be performed by one or more of a plurality of electronic devices in a task orchestration system, comprising the steps of: (a) obtaining device function descriptions, wherein each device function description describes a function that a device can perform; (b) obtaining task descriptions, wherein each task description describes the device functionality a certain task requires; (c) generating task suggestions based on the obtained task descriptions and device function descriptions, wherein each task suggestion represents a user task as an abstraction of on or more of the obtained device functions descriptions and task descriptions; (d) displaying task suggestions on a display for the user to select from, wherein the user selected task suggestion is to be performed by one or more of the device; and (e) using the task and device function descriptions to infer the tasks that can be performed by the devices and the device combinations that can perform the selected task suggestion.