Extract OSM implementation details to a separate class