refactored location listener into single callback

@jacobawenger do you mind reviewing this