Refactoring some clasess and unit test in order to make the tests
implementation agnostic. Adding more unit test to PetriNet