Simple hash task
Throw error correctly
Generate and return sourcemap too
Use new Path class to abstract destination