   // MARK: UI Updates
   // ------------------------------------------------------------
   internal func drawGradientIn(view: UIView) {
-    self.view.layoutIfNeeded() // call this just before UI updates that utilize frames
+    self.view.layoutIfNeeded()
     
     let gradientLayer: CAGradientLayer = CAGradientLayer()
     gradientLayer.frame = view.bounds

/**
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 
 Design Idea Found @ http://www.ios.uplabs.com/posts/profile-page-interaction-and-animation
 Designer: Malik, @iOfficialBlack (http://www.ios.uplabs.com/iOfficialBlack)
 
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 */


class ProfileViewController: UIViewController, FollowButtonDelegate {
  private let runloop: NSRunLoop = NSRunLoop.currentRunLoop()
  
  // MARK: - Lifecycle -
  // ------------------------------------------------------------

  
    if currentState == .Following || currentState == .NotFollowing {
      let threeSecondsFromNow: NSDate = NSDate(timeInterval: 3.0, sinceDate: NSDate())
      let fakeNetworkRequestTimer: NSTimer = NSTimer(fireDate: threeSecondsFromNow, interval: 0.0, target: self, selector: "finishFakeNetworkRequest", userInfo: nil, repeats: false)

      NSRunLoop.currentRunLoop().addTimer(fakeNetworkRequestTimer, forMode: NSDefaultRunLoopMode)
    }
    
  }

  func finishFakeNetworkRequest() {
    self.followButton.finishAnimating(success: true)
  }
  
