CORE-237 - Refactored the notification and error handling to bring our internal framework closer to the SDK framework and reduce duplication in the process.