Observer

Every member of an organization has a status attribute. Here are some of the possible values:

enum Status {
   FULL_TIME;
   PART_TIME;
   TEMPORARY;
   RETIRED;
   ON_LEAVE;
   DECEASED;
}

When the status of a member changes, benefits providers, family members, and certain other members of the organization (managers for example) need to be notified.

Sketch a design of how you would use the Observer-Observable Pattern to solve this problem.

Test your solution by creating a class called TestOrganization with a main method that creates an organization, populates it with members, some of which are observers of others, then change the status of a member with observers. Observers should produce some output so that you will know they are being notified.)