Refactoring

- using IGeometryData wherever possible
- get/set methods position moved to GeometryData