Typed subsystems
Maps removed and replaced with FlatMap. To simplify runtime handling.
RuntimeComponent's split to Heavy (that can update the whole context) and [lightweight] that can only update a few states.
RuntimeComponent sealed trait.
Stateful links are processed.
minor