refactor methods to AbstractTransition, add support to PetriNetRunner for ExternalTransition