Move abstract entity behavior into Entity class