     public init(accessToken: String, locale: String, navigationController: UINavigationController) {
         self.accessToken = accessToken
         self.navigationHandler = PXNavigationHandler(navigationController: navigationController)
+        MPXTracker.sharedInstance.startNewSession()
+        escManager = PXESCManager(enabled: escEnabled, sessionId: MPXTracker.sharedInstance.getSessionID())
         super.init()
         Localizator.sharedInstance.setLanguage(string: locale)
         ThemeManager.shared.saveNavBarStyleFor(navigationController: navigationController)
         PXNotificationManager.SuscribeTo.attemptToClose(self, selector: #selector(goBack))
-        MPXTracker.sharedInstance.startNewSession()
     }
 
     public func setSiteId(_ siteId: String) {

    private let model = AddCardFlowModel()
    private let navigationHandler: PXNavigationHandler

    private lazy var mercadoPagoServicesAdapter = MercadoPagoServicesAdapter(publicKey: "APP_USR-5bd14fdd-3807-446f-babd-095788d5ed4d", privateKey: self.accessToken)

    public convenience init(accessToken: String, locale: String, navigationController: UINavigationController, shouldSkipCongrats: Bool) {

        guard let cardToken = self.model.cardToken else {
            return
        }
        cardToken.requireESC = escEnabled
        self.navigationHandler.presentLoading()

        self.mercadoPagoServicesAdapter.createToken(cardToken: cardToken, callback: { [weak self] (token) in
            self?.model.tokenizedCard = token
            if let esc = token.esc {
                self?.escManager.saveESC(firstSixDigits: token.firstSixDigits, lastFourDigits: token.lastFourDigits, esc: esc)
            }
            self?.executeNextStep()
            }, failure: {[weak self] (error) in
                let reachabilityManager = PXReach()
