Add abstract test classes and write StateChangerImplTest.java