It's not simple to implement Equals method. (It's required by State comparing to check IsStateChanged by editor) So create base class to check equality by using reflection.