     // handle other delegate call backs with the status messages
 
     func readerIsAttached() {
-        cardSwipedSignal.sendNext("Reader is attatched");
+        _cardStatus.onNext("Reader is attatched");
     }
 
     func readerIsConnecting() {
-        cardSwipedSignal.sendNext("Reader is connecting");
+        _cardStatus.onNext("Reader is connecting");
     }
 
     func readerIsDisconnected() {
-        cardSwipedSignal.sendNext("Reader is disconnected");
+        _cardStatus.onNext("Reader is disconnected");
         logger.log("Card Reader Disconnected")
     }
 
     func readerSwipeDidCancel() {
-        cardSwipedSignal.sendNext("Reader did cancel");
+        _cardStatus.onNext("Reader did cancel");
         logger.log("Card Reader was Cancelled")
     }
 
     func readerGenericResponse(cardData: String!) {
-        cardSwipedSignal.sendNext("Reader received non-card data: \(cardData) ");
+        _cardStatus.onNext("Reader received non-card data: \(cardData) ");
         reader.beginSwipeWithMessage(nil);
     }
 
     func readerIsConnected(isConnected: Bool, withError error: NSError!) {
         if isConnected {
-            cardSwipedSignal.sendNext("Reader is connected");
+            _cardStatus.onNext("Reader is connected");
             reader.beginSwipeWithMessage(nil);
 
         } else {
             if (error != nil) {
-                cardSwipedSignal.sendNext("Reader is disconnected: \(error.localizedDescription)");
+                _cardStatus.onNext("Reader is disconnected: \(error.localizedDescription)");
             } else {
-                cardSwipedSignal.sendNext("Reader is disconnected");
+                _cardStatus.onNext("Reader is disconnected");
             }
         }
     }

    func readerCardResponse(card: CFTCard?, withError error: NSError?) {
        if let card = card {
            self.card = card;
            cardSwipedSignal.sendNext("Got Card")

            card.tokenizeCardWithSuccess({ [weak self] () -> Void in
                self?.cardSwipedSignal.sendCompleted()
                logger.log("Card was tokenized")

            }, failure: { [weak self] (error) -> Void in
                self?.cardSwipedSignal.sendNext("Card Flight Error: \(error)");
                logger.log("Card was not tokenizable")
            })
            
        } else if let error = error {
            self.cardSwipedSignal.sendNext("response Error \(error)");
            logger.log("CardReader got a response it cannot handle")



        reader = CFTReader(andConnect: ())
        reader.delegate = self;
        reader.swipeTimeoutDuration(0)
        _cardStatus.onNext("Started searching")
    }

    func end() {
