we have three tools now: line, rectangle and ellipse (factory pattern).
still needs some observer