Hmm, class clusters could bend `-initWithDictionary:` to their will but that seems needlessly complicated, moving this into the protocol would mean more busywork (and the method starting with `model` may be confusing if the protocol gets implemented by a `SKSpriteNode` subclass, for example).

Any reason you'd like to get rid of it, other than reduced surface area?