Id and Self for Context.Tag please? Id is used as the key to resolve the value/implementation of Shape from the Context Self ie. the class that extends Context.Tag (S1 or S2 in the screenshot) not used as the key instead?Context is some kind of JS Map under the hood, anything could be used as the key including the class itself ie.S1 and S2) with different interfaces/shapes resolve to whichever implementation is provided first to the Context