    private var _goalieMovementAnimator: GoalieMovementAnimator!
    @IBOutlet private weak var _goalieFaceView: GoalieFaceView! {
       didSet {
+         _goalieFaceView.layer.anchorPoint = CGPoint(x: 0.5, y: 1)
          _goalieMovementAnimator = GoalieMovementAnimator(view: _goalieFaceView)
       }
    }
    
-   @IBOutlet private weak var _rightSpeechBubble: GoalieSpeechBubble! {
-      didSet {
-         _rightSpeechBubble.layer.anchorPoint = CGPoint(x: 0.5, y: 1)
-      }
-   }
+   @IBOutlet private weak var _rightSpeechBubble: GoalieSpeechBubble!
    @IBOutlet private weak var _leftSpeechBubble: GoalieSpeechBubble! {
       didSet {
          _leftSpeechBubble.tailDirection = .Right
-         _leftSpeechBubble.layer.anchorPoint = CGPoint(x: 0.5, y: 1)
       }
    }
    
    @IBOutlet private weak var _settingsButton: UIButton!
    
-   private var _startedShowingInitialSpeechBubble = false
+   private var _shouldShowSpeechBubble = false
    private var _currentPriority = TaskPriority.Unknown
    
    // MARK: - Lifecycle

   
   func updateWithPriority(priority: TaskPriority)
   {
      if _currentPriority != priority
      {
         _currentPriority = priority
         _goalieFaceView.updateWithPriority(priority)
         
         let text = SpeechBubbleTextProvider.textForPriority(priority)
         _leftSpeechBubble.updateWithText(text, priority: priority)
         _rightSpeechBubble.updateWithText(text, priority: priority)
         
         let color = UIColor.goalieHeaderBackgroundColor(priority)
         _updateHeaderViewColor(color, animationDuration: 0.3)
         
         if _startedShowingInitialSpeechBubble {// && currently showing INITAL speech bubble
            _leftSpeechBubble.hidden = true
            _rightSpeechBubble.hidden = true
            
            // Since we were interrupted, start five second timer and then start observing for "productive activity"
         }
      }
   }
   
   func showSpeechBubble()
   {
      _startedShowingInitialSpeechBubble = true
      _showOnlyLeftOrRightSpeechBubble()
   }
   
   func hideSpeechBubble()
   {
      _leftSpeechBubble.hidden = true
      _rightSpeechBubble.hidden = true
   }
   
   func animateGoalie()

      let oneOrZero = Int.randRange(0, upper: 1)
      
      if oneOrZero == 0 || shouldShowLeft {
         if _leftSpeechBubble.hidden == true {
            _animateViewIn(_leftSpeechBubble, completion: nil)
            _rightSpeechBubble.hidden = true
         }
      }
      else {
         if _rightSpeechBubble.hidden == true {
            _animateViewIn(_rightSpeechBubble, completion: nil)
            _leftSpeechBubble.hidden = true
         }
      }
   }
   
   private func _animateViewIn(viewToAnimate: UIView, completion: (() -> Void)?)
   {
      viewToAnimate.hidden = false
      viewToAnimate.transform = CGAffineTransformMakeScale(0, 0)
      UIView.animateWithDuration(0.5, delay: 0.25, usingSpringWithDamping: 0.5, initialSpringVelocity: 0.8, options: [], animations: { () -> Void in
         viewToAnimate.transform = CGAffineTransformMakeScale(1, 1)
         }) { (finished) -> Void in
            completion?()
      }
   }
   
   private func _animateViewOut(viewToAnimate: UIView)
   {
      UIView.animateWithDuration(0.3, animations: { () -> Void in
         viewToAnimate.transform = CGAffineTransformMakeScale(0.01, 0.01)
         }) { (finished) -> Void in
            viewToAnimate.hidden = true
      }
   }
   
