SharedList Manager implementation.

Added a shared list manager to further abstract functionality. Added
the ability to register observers for changes to the list that the
class instance registers and maintains its reference.