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: employing a controller device for: obtaining device function descriptions, wherein each device function description describes a function that a device can perform; obtaining task descriptions from multiple electronic devices of a plurality of electronic devices, wherein the task descriptions are dynamically determined at run-time of the task orchestration system, wherein each task description describes the device functionality a certain task requires; 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 one or more of the obtained device functions descriptions and task descriptions; 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 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.