added task.addSource and task.removeSource methods

This commit was sponsored by The Hoodie Firm
with support from NLnet: http://nlnet.nl
http://go.hood.ie/thehoodiefirm