/**
  *    run
  *
  * @access    public
  * @param WP $WP
  * @return    void
  */
 public function run($WP)
 {
     if (!EED_Single_Page_Checkout::$_run) {
         $this->init();
         if ($this->_transaction instanceof EE_Transaction) {
             // convert AJAX requests if JS is disabled
             if (!EE_Registry::instance()->REQ->ajax && strpos($this->_current_step, 'process_') !== FALSE) {
                 $process_method = '_' . $this->_current_step;
                 call_user_func(array($this, $process_method));
             } else {
                 if ($this->_current_step == 'finalize_registration') {
                     $this->_process_finalize_registration();
                 } else {
                     $this->registration_checkout();
                 }
             }
         }
         EED_Single_Page_Checkout::$_run = TRUE;
     }
 }