Refactoring: Applying reusability
 - JsonAdapter was refactored to reuse existing methods and remove
duplicated code
 - NotificationService was changed to comply with changes in JsonAdapter