Added expiration check. TODO: Make sure a challenge instance is returned; if not, re-scan Bluetooth