add ability to create custom errors and show exampe of catching, transforming existing error in chain. also show how errors bubble threw chain using Q.all