 	_check = ->
 		utils.checkConnectivity()
 		.then (connected) ->
-			if not connected
-				if connectivityState
-					console.log('Waiting for connectivity...')
-					connectivityState = false
-					blinkPattern.start()
+			return if connected == connectivityState
+			connectivityState = connected
+			if connectivityState
+				console.log('Internet Connectivity: OK')
+				blinkPattern.stop()
 			else
-				if not connectivityState
-					console.log('Internet Connectivity: OK')
-					connectivityState = true
-					blinkPattern.stop()
+				console.log('Waiting for connectivity...')
+				blinkPattern.start()
+		.finally ->
 			setTimeout(_check, 10 * 1000) # Every 10 seconds perform this check.
 	return _.once(_check)

				# And then repeat again after another 2 seconds
				start()
	return {
		start: () ->
			return false if started
			started = true
			start()

	# and always have a timeout we can cancel.
	delay = (ms, fn) ->
		timeout = setTimeout(fn, ms)
	start = ->
		interval = setInterval(utils.blink, 400)
		delay 2000, ->
			# Clear the blinks after 2 second
