lots of refactoring - adding in functionality for updateVistedMetricsForRangedBeacons