Separate location-logic and UI entirely from rest