   private var manager: TimerManagerType?
   
   /// Current timer time.
-  private(set) var time: Double
+  public private(set) var time: Double
   
   /// The gap between executions in seconds.
-  private(set) var interval: Double = 0
+  public private(set) var interval: Double = 0
   
   /// Whether the timer is in paused state or not.
-  private(set) var paused: Bool = false
+  public private(set) var paused: Bool = false
   
   /**
    

  }
  
  /// Resume the timer after pause it.
  func resume() {
    paused = false
    manager?.resume()
  }
  
  /// Stop the timer.
  func stop() {
    manager?.cancel()
  }
}

 */
public class Countdown: Timer {
  
  override public func tick(every interval: Double, _ update: (Double) -> ()) {
    let interval = interval > 0 ? -interval : interval
    
    if time == 0 {
