         let formattedTime = elapsedTime.valueFor(unit: unit)
         let tag = self.tag ?? "\(startTimestamp)"
         return "[Stopwatch - \(tag)] time elapsed - \(formattedTime) \(unit.unitName())"
-    }
-
-    private func currentTimeValue() -> TimeValue {
-        return TimeValue(mach_absolute_time())
     }
 
     private func currentTimeNanoseconds() -> UInt64 {


struct StopWatch {

    typealias TimeEvent = (String, TimeValue)
    typealias TimeEventDouble = (String, Double)

    fileprivate var startTimestamp: UInt64 = 0
    fileprivate var stopTimestamp: UInt64 = 0

    fileprivate var tag: String?
    fileprivate var splits = [TimeEvent]()

    init() {
        mach_timebase_info(&timebase_info)

    mutating func stop() {
        if (stopTimestamp == 0) {
            stopTimestamp = mach_absolute_time()
        }
    }

    /// Pause countdown
    mutating func pause() {
        if (stopTimestamp == 0) {
            pauses.append((TimeValue.now(), true))
        }
    }

    /// Resume countdown
    mutating func resume() {
        if (stopTimestamp == 0) {
            pauses.append((TimeValue.now(), false))
        }
    }

