 	currentBreakpointKey = null
 	debouncedResizeFn = null
 	spinnerTimerId = null
-	watcher = null
+	showWatcher = null
+	loadWatcher = null
 	isWorking = false
 	hasBeenShown = false
 	imagesLoaded = null

	###
		Callback for when it's exiting the page view
	###
	onExitViewport: () =>
		if hasBeenShown then @removeWatcherListeners()

	###
		Callback for when the window is resized

		$(window).on 'resize', debouncedResizeFn
		@

	###
		Remove general events callbacks
	###
	removeEventListeners: =>
		$(window).off 'resize', debouncedResizeFn
		debouncedResizeFn = null


	###
		Removes showWatcher events callbacks
	###
	destroyShowWatcher: () =>
		if showWatcher isnt null
			showWatcher.destroy()

	###
		Removes loadWatcher event callbacks
	###
	destroyLoadWatcher: () =>
		if loadWatcher isnt null
			loadWatcher.destroy()

	###
		This function detects which breakpoint are we working on now
