There is no reason to make Point into an abstract class.