refactored Pen And Drawingdevice - drawing device is now treated as an abstract class