diagram now knows whether a node is active ( i.e. if it's automatic or if it's :start and this is the first round) so the nodes themselves only need to check whether they're enabled (i.e. conditions). I think it's better to move checking for conditions to class Diagram as well so that once a node is triggered, it doesn't need to do any checking.