step-11 Context Selections

* Creating an ISelectionContext with a selection() getter function
* Creating another Context which listens and responds to changes on the
ISelectionContext via a contextSelectionValidator