Moved a class out, added an interface, other changes