Amazon Interview Question

Hardest question was the first one. It asks you to write a program that will allow the user to create lines, rectangles, circles, text, etc. And allow them to manipulate them independently (move them, resize them, etc.) Design an object model for this application. (How would you model the representation of the document in an object oriented language? What classes would you define? What methods would you have? What would your API look like?)