Add caching support to AnimationLogic
Move petri net component classes around to lose cyclic dependencies