   }
 
   func silentWhisper(controller: UINavigationController, after: NSTimeInterval) {
-    navigationController = controller
-
+    self.navigationController = controller
+    guard let navigationController = self.navigationController else { return }
+    
     var whisperSubview: WhisperView? = nil
     for subview in navigationController.navigationBar.subviews {
       if let whisper = subview as? WhisperView {


  func craft(message: Message, navigationController: UINavigationController, action: WhisperAction) {
    self.navigationController = navigationController
    self.navigationController.delegate = self
    presentTimer.invalidate()

    var containsWhisper = false

  }

  func presentFired(timer: NSTimer) {
    guard let navigationController = self.navigationController,
      userInfo = timer.userInfo,
      title = userInfo["title"] as? String,
      textColor = userInfo["textColor"] as? UIColor,
      backgroundColor = userInfo["backgroundColor"] as? UIColor,
