Refactor reportFailure to allow for sync calling
Add error catching to Project