Removed the parent Entity class inheritance and implemented functionality directly
Added reserved attributes
Added original and current attribute state to check for changes
Added dirty checks