  
 */
 
-class TimerManager: TimerManagerType {
+public class TimerManager: TimerManagerType {
   
   private var timer: dispatch_source_t?
   private var pausedTime: Double = 0
   private var repeats: Bool
   
-  private(set) var interval: Double
-  
-  private(set) var time: Double
-  
-  private(set) var paused: Bool = false
-  
-  var resumeHandler: ((Double) -> ())?
-  
-  var pauseHandler: ((Double) -> ())?
-  
-  var cancelHandler: (() -> ())?
-  
-  required init?(interval: Double, time: Double, repeats: Bool) {
+  public private(set) var interval: Double
+  
+  public private(set) var time: Double
+  
+  public private(set) var paused: Bool = false
+  
+  public var resumeHandler: ((Double) -> ())?
+  
+  public var pauseHandler: ((Double) -> ())?
+  
+  public var cancelHandler: (() -> ())?
+  
+  public required init?(interval: Double, time: Double, repeats: Bool) {
     
     self.repeats = repeats
     self.interval = interval

  ````
*/

class Timer {
  
  private var manager: TimerManagerType?
  

    }
  }
  
  public func resume() {
    if !repeats {
      
      dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(interval * Double(NSEC_PER_SEC))), dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) {
