Don't overwrite parameters values

Assigning JavaScripts objects to another variable name does not make a clone of it, so changing the `source` and `destination` properties affects all the tasks (example: http://jsfiddle.net/d5KzG/).

Let's fix this ;)