1. A method of representing user tasks to be performed by interaction of a plurality of electronic devices in a task orchestration system, the method comprising: employing a controller device for: expressing device functionality as a device description specifying a function that the device can perform; generating task suggestions based on task descriptions obtained from multiple electronic devices of the plurality of electronic devices, wherein task descriptions are dynamically determined at run-time of the task orchestration system, and a task description comprises task external description outlining task suggestions for interaction with a user, task properties, task functionalities and task actions, wherein each task suggestion represents a user task as an abstraction of one or more of the device descriptions; applying user preferences over the generated task suggestions to determine a rank order for the generated task suggestions; and displaying task suggestions in the rank order on a display for the user to select from, whereby user tasks are decoupled from the devices.