     private func startCurrentActivity() {
         self.currentActivityStart = NSDate()
         
-        print("timer cancelled")
         self.timer?.invalidate()
         if let _ = self.currentActivity {
             self.timer = NSTimer.scheduledTimerWithTimeInterval(Double(self.currentActivityRemainingDuration), target: self, selector: "notifyEndActivity", userInfo: nil, repeats: false)

        }
    }
    
    private func whatIsNextObject() -> Object.Type? {
        if self.currentChallenge != nil && self.getNextActivityIdx() != nil {
            return Activity.self

        return nil
    }
    
    // this will return either Challenge or Activity or nil, depending on the what's next to show
    // Challenge is always first, then all the activities in that challenge
    // then we repeat the process for next Challenge
    // if the next object is activity the timer will be automatically started
    private func getNextObject() -> Object? {
        
        // try to get next activity in the current challenge
