Extract beacon functionality out of view controllers