Uploaded another patch.
This time I made proper interface ICoordinate and class Coordinate in DeepEarth.Common. Then refactored DeepEarth.Client.MapControl to use ICoordinate for geographic coordinate.
Also made generic classes for PointBase<ICoordinate>, LineString<>, Polygon<>.
This way I can have my own class that inherits from ICoordinate. I can send that collection over webservice and without conversion put it straight to the new polygon (for example).
Also extracted shape Update methods from GeometryLayer to PointBase and PathBase - should be easier to create new shapes (like circle).
I think this is definitely better than was before. I do not need to convert anything when transfering my data from db, through webservices to the point where it is being shown on the map.
Seems like all the code is working - example site, etc...Tell me what you think...