Simplify AbstractEntity so that it only requires one class to implement.