Only calling slection_changed if there is any items selected.
Extended moveToCentredPosition with option that returns the task, in order
to give more fine grained control of it.
Simplified the task execution code, the functionality is the same but it is more
elegant and simpler to follow now.

Extended the queue execution flow control, are now distinguishing between
Unexcpted event stops the queue, the queue is aborted or an entry is skipped.