First working version officially using IGeometryData interface.

@Paitum, would be great, if you could give it a look.