Issue #55. Branch Iss55. Step twenty three implementation. Phase two: Created SelectionObserver abstract base class.