     
     /// Clears the last fired data from the Signal and resets the fire count
     public func clearLastData() {
-        fireCount = 0
         lastDataFired = nil
     }
 }

    /// - parameter callback: The closure to invoke whenever the signal fires.
    public func listenPastOnce(listener: AnyObject, callback: (T) -> Void) -> SignalListener<T> {
        let signalListener = self.listen(listener, callback: callback)
        if let lastDataFired = lastDataFired where fireCount > 0 {
            signalListener.callback(lastDataFired)
            signalListener.cancel()
        } else {

    /// - parameter callback: The closure to invoke whenever the signal fires.
    public func listenPast(listener: AnyObject, callback: (T) -> Void) -> SignalListener<T> {
        let signalListener = self.listen(listener, callback: callback)
        if let lastDataFired = lastDataFired {
            signalListener.callback(lastDataFired)
        }
        return signalListener
