diff --git a/core/modules/migrate/src/MigrateExecutable.php b/core/modules/migrate/src/MigrateExecutable.php
index f33781e..0542887 100644
--- a/core/modules/migrate/src/MigrateExecutable.php
+++ b/core/modules/migrate/src/MigrateExecutable.php
@@ -31,14 +31,14 @@ class MigrateExecutable implements MigrateExecutableInterface {
    *
    * @var int
    */
-  protected $successesSinceFeedback;
+  protected $successesSinceFeedback = 0;
 
   /**
    * The number of rows that were successfully processed.
    *
    * @var int
    */
-  protected $totalSuccesses;
+  protected $totalSuccesses = 0;
 
   /**
    * Status of one row.
@@ -57,7 +57,7 @@ class MigrateExecutable implements MigrateExecutableInterface {
    *
    * @var int
    */
-  protected $totalProcessed;
+  protected $totalProcessed = 0;
 
   /**
    * The queued messages not yet saved.
@@ -605,6 +605,60 @@ protected function getTimeElapsed() {
   }
 
   /**
+   * Returns the number of items successfully imported since the last feedback.
+   *
+   * @param boolean $reset
+   *   TRUE to reset the number of successes since feedback to 0.
+   *
+   * @return int
+   *   The number of successes since last feedback.
+   */
+  public function getSuccessesSinceFeedback($reset = FALSE) {
+    $num_successes = $this->successesSinceFeedback;
+    if ($reset) {
+      $this->successesSinceFeedback = 0;
+    }
+    return $num_successes;
+  }
+
+  /**
+   * Returns the number of items successfully imported on this run.
+   *
+   * @return int
+   *   The total number of successes.
+   */
+  public function getTotalSuccesses() {
+    return $this->totalSuccesses;
+  }
+
+  /**
+   * Returns the number of items processed since the last feedback.
+   *
+   * @param boolean $reset
+   *   TRUE to reset the number of processed since feedback to 0.
+   *
+   * @return int
+   *   The number of items processed since last feedback.
+   */
+  public function getProcessedSinceFeedback($reset = FALSE) {
+    $num_processed = $this->processedSinceFeedback;
+    if ($reset) {
+      $this->processedSinceFeedback = 0;
+    }
+    return $num_processed;
+  }
+
+  /**
+   * Returns the number of items processed on this run.
+   *
+   * @return int
+   *   The total number of items processed.
+   */
+  public function getTotalProcessed() {
+    return $this->totalProcessed;
+  }
+
+  /**
    * Takes an Exception object and both saves and displays it.
    *
    * Pulls in additional information on the location triggering the exception.
diff --git a/core/modules/migrate/src/MigrateExecutableInterface.php b/core/modules/migrate/src/MigrateExecutableInterface.php
index 4a362fe..3b7a376 100644
--- a/core/modules/migrate/src/MigrateExecutableInterface.php
+++ b/core/modules/migrate/src/MigrateExecutableInterface.php
@@ -45,6 +45,44 @@ public function processRow(Row $row, array $process = NULL, $value = NULL);
   public function getTimeLimit();
 
   /**
+   * Returns the number of items successfully imported since the last feedback.
+   *
+   * @param boolean $reset
+   *   TRUE to reset the number of successes since feedback to 0.
+   *
+   * @return int
+   *   The number of successes since last feedback.
+   */
+  public function getSuccessesSinceFeedback($reset = FALSE);
+
+  /**
+   * Returns the number of items successfully imported on this run.
+   *
+   * @return int
+   *   The total number of successes.
+   */
+  public function getTotalSuccesses();
+
+  /**
+   * Returns the number of items processed since the last feedback.
+   *
+   * @param boolean $reset
+   *   TRUE to reset the number of processed since feedback to 0.
+   *
+   * @return int
+   *   The number of items processed since last feedback.
+   */
+  public function getProcessedSinceFeedback($reset = FALSE);
+
+  /**
+   * Returns the number of items processed on this run.
+   *
+   * @return int
+   *   The total number of items processed.
+   */
+  public function getTotalProcessed();
+
+  /**
    * Passes messages through to the map class.
    *
    * @param string $message
diff --git a/core/modules/migrate/tests/src/Unit/TestMigrateExecutable.php b/core/modules/migrate/tests/src/Unit/TestMigrateExecutable.php
index f26bc56..11f22c1 100644
--- a/core/modules/migrate/tests/src/Unit/TestMigrateExecutable.php
+++ b/core/modules/migrate/tests/src/Unit/TestMigrateExecutable.php
@@ -77,46 +77,6 @@ public function getMaxExecTime() {
   }
 
   /**
-   * Allows access to protected successesSinceFeedback property.
-   *
-   * @return int
-   *   The value of the protected property.
-   */
-  public function getSuccessesSinceFeedback() {
-    return $this->successesSinceFeedback;
-  }
-
-  /**
-   * Allows access to protected totalSuccesses property.
-   *
-   * @return int
-   *   The value of the protected property.
-   */
-  public function getTotalSuccesses() {
-    return $this->totalSuccesses;
-  }
-
-  /**
-   * Allows access to protected totalProcessed property.
-   *
-   * @return int
-   *   The value of the protected property.
-   */
-  public function getTotalProcessed() {
-    return $this->totalProcessed;
-  }
-
-  /**
-   * Allows access to protected processedSinceFeedback property.
-   *
-   * @return int
-   *   The value of the protected property.
-   */
-  public function getProcessedSinceFeedback() {
-    return $this->processedSinceFeedback;
-  }
-
-  /**
    * Allows access to protected maxExecTimeExceeded method.
    *
    * @return bool
