Separating the 'autocompleter', 'map' and 'app' logic into separate, encapsulated views.