Refactored LocationNode logic and moved it to the NodeDataProvider class