Overhauled Entity class