eagerly load location to prevent repetitive lazy loading in view.
add new coming locations method, refactor to make some methods private.