Cleaned up exception handling and passing all the way back to callback function.