Task keeps track of progress & updates resources.

The task base class is now smart enough to keep track of produced item &
report progress. It also updates resources based on used and newly
produced items.