upload returns a stream object
merge conflict
split export template up
improve model reset + ui updating
handle source.upload and res correctly
upload uses task workflow, with logging, re #472