Refactored classes to depend on a single parent class Point