Spatial-Object-Oriented programming