Created AbstractEntity to be extended by all the entities adding common functionality