Entity class that handles hydration, validation, persistence