     
     /// Signal Initializer
     /// 
-    /// - parameter retainLastData: Should the Signal retain a reference to the last data that it was fired with?
+    /// - parameter retainLastData: Whether or not the Signal should retain a reference to the last data it was fired with. Defaults to false.
     public init(retainLastData: Bool = false) {
         fireCount = 0
         self.retainLastData = retainLastData

    /// - 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 where fireCount > 0 {
            signalListener.callback(lastDataFired)
        }
        return signalListener

    /// - 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 {
            signalListener.callback(lastDataFired)
            signalListener.cancel()
        } else {
