Made changes to the name of the classes to avoid clashes with the Windows API. Polygon will be an immutable type.