An Abstract class with the basic functionalities needed by other classes.