diff --git a/core/modules/migrate/src/MigrateExecutable.php b/core/modules/migrate/src/MigrateExecutable.php
index a68b087..51c2561 100644
--- a/core/modules/migrate/src/MigrateExecutable.php
+++ b/core/modules/migrate/src/MigrateExecutable.php
@@ -16,7 +16,7 @@
 /**
  * Defines a migrate executable class.
  */
-class MigrateExecutable {
+class MigrateExecutable implements MigrateExecutableInterface {
   use StringTranslationTrait;
 
   /**
@@ -222,7 +222,7 @@ public function __construct(MigrationInterface $migration, MigrateMessageInterfa
    * @return \Drupal\migrate\Source
    *   The source.
    */
-  public function getSource() {
+  protected function getSource() {
     if (!isset($this->source)) {
       $this->source = new Source($this->migration, $this);
     }
@@ -230,7 +230,7 @@ public function getSource() {
   }
 
   /**
-   * Performs an import operation - migrate items from source to destination.
+   * {@inheritdoc}
    */
   public function import() {
     // Knock off migration if the requirements haven't been met.
@@ -347,22 +347,7 @@ public function import() {
   }
 
   /**
-   * Processes a row.
-   *
-   * @param \Drupal\migrate\Row $row
-   *   The $row to be processed.
-   * @param array $process
-   *   (optional) A process pipeline configuration. If not set, the top level
-   *   process configuration in the migration entity is used.
-   * @param mixed $value
-   *   (optional) Initial value of the pipeline for the first destination.
-   *   Usually setting this is not necessary as $process typically starts with
-   *   a 'get'. This is useful only when the $process contains a single
-   *   destination and needs to access a value outside of the source. See
-   *   \Drupal\migrate\Plugin\migrate\process\Iterator::transformKey for an
-   *   example.
-   *
-   * @throws \Drupal\migrate\MigrateException
+   * {@inheritdoc}
    */
   public function processRow(Row $row, array $process = NULL, $value = NULL) {
     foreach ($this->migration->getProcessPlugins($process) as $destination => $plugins) {
@@ -444,10 +429,7 @@ protected function timeOptionExceeded() {
   }
 
   /**
-   * Returns the time limit.
-   *
-   * @return null|int
-   *   The time limit, NULL if no limit or if the units were not in seconds.
+   * {@inheritdoc}
    */
   public function getTimeLimit() {
     $limit = $this->limit;
@@ -460,31 +442,21 @@ public function getTimeLimit() {
   }
 
   /**
-   * Passes messages through to the map class.
-   *
-   * @param string $message
-   *   The message to record.
-   * @param int $level
-   *   (optional) Message severity (defaults to MESSAGE_ERROR).
+   * {@inheritdoc}
    */
   public function saveMessage($message, $level = MigrationInterface::MESSAGE_ERROR) {
     $this->migration->getIdMap()->saveMessage($this->sourceIdValues, $message, $level);
   }
 
   /**
-   * Queues messages to be later saved through the map class.
-   *
-   * @param string $message
-   *   The message to record.
-   * @param int $level
-   *   (optional) Message severity (defaults to MESSAGE_ERROR).
+   * {@inheritdoc}
    */
   public function queueMessage($message, $level = MigrationInterface::MESSAGE_ERROR) {
     $this->queuedMessages[] = array('message' => $message, 'level' => $level);
   }
 
   /**
-   * Saves any messages we've queued up to the message table.
+   * {@inheritdoc}
    */
   public function saveQueuedMessages() {
     foreach ($this->queuedMessages as $queued_message) {
@@ -641,7 +613,7 @@ protected function getTimeElapsed() {
    *   (optional) Whether to save the message in the migration's mapping table.
    *   Set to FALSE in contexts where this doesn't make sense.
    */
-  public function handleException(\Exception $exception, $save = TRUE) {
+  protected function handleException(\Exception $exception, $save = TRUE) {
     $result = Error::decodeException($exception);
     $message = $result['!message'] . ' (' . $result['%file'] . ':' . $result['%line'] . ')';
     if ($save) {
diff --git a/core/modules/migrate/src/MigrateExecutableInterface.php b/core/modules/migrate/src/MigrateExecutableInterface.php
new file mode 100644
index 0000000..4a362fe
--- /dev/null
+++ b/core/modules/migrate/src/MigrateExecutableInterface.php
@@ -0,0 +1,71 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\migrate\MigrateExecutableInterface
+ */
+
+namespace Drupal\migrate;
+
+use Drupal\migrate\Entity\MigrationInterface;
+
+interface MigrateExecutableInterface {
+
+  /**
+   * Performs an import operation - migrate items from source to destination.
+   */
+  public function import();
+
+  /**
+   * Processes a row.
+   *
+   * @param \Drupal\migrate\Row $row
+   *   The $row to be processed.
+   * @param array $process
+   *   (optional) A process pipeline configuration. If not set, the top level
+   *   process configuration in the migration entity is used.
+   * @param mixed $value
+   *   (optional) Initial value of the pipeline for the first destination.
+   *   Usually setting this is not necessary as $process typically starts with
+   *   a 'get'. This is useful only when the $process contains a single
+   *   destination and needs to access a value outside of the source. See
+   *   \Drupal\migrate\Plugin\migrate\process\Iterator::transformKey for an
+   *   example.
+   *
+   * @throws \Drupal\migrate\MigrateException
+   */
+  public function processRow(Row $row, array $process = NULL, $value = NULL);
+
+  /**
+   * Returns the time limit.
+   *
+   * @return null|int
+   *   The time limit, NULL if no limit or if the units were not in seconds.
+   */
+  public function getTimeLimit();
+
+  /**
+   * Passes messages through to the map class.
+   *
+   * @param string $message
+   *   The message to record.
+   * @param int $level
+   *   (optional) Message severity (defaults to MESSAGE_ERROR).
+   */
+  public function saveMessage($message, $level = MigrationInterface::MESSAGE_ERROR);
+
+  /**
+   * Queues messages to be later saved through the map class.
+   *
+   * @param string $message
+   *   The message to record.
+   * @param int $level
+   *   (optional) Message severity (defaults to MESSAGE_ERROR).
+   */
+  public function queueMessage($message, $level = MigrationInterface::MESSAGE_ERROR);
+
+  /**
+   * Saves any messages we've queued up to the message table.
+   */
+  public function saveQueuedMessages();
+}
diff --git a/core/modules/migrate/src/Plugin/MigrateProcessInterface.php b/core/modules/migrate/src/Plugin/MigrateProcessInterface.php
index 7cdf57d..abfd523 100644
--- a/core/modules/migrate/src/Plugin/MigrateProcessInterface.php
+++ b/core/modules/migrate/src/Plugin/MigrateProcessInterface.php
@@ -8,7 +8,7 @@
 namespace Drupal\migrate\Plugin;
 
 use Drupal\Component\Plugin\PluginInspectionInterface;
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\Row;
 
 /**
@@ -28,7 +28,7 @@
    *
    * @param mixed $value
    *   The value to be transformed.
-   * @param \Drupal\migrate\MigrateExecutable $migrate_executable
+   * @param \Drupal\migrate\MigrateExecutableInterface $migrate_executable
    *   The migration in which this process is being executed.
    * @param \Drupal\migrate\Row $row
    *   The row from the source to process. Normally, just transforming the
@@ -41,7 +41,7 @@
    * @return string|array
    *   The newly transformed value.
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property);
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property);
 
   /**
    * Indicates whether the returned value requires multiple handling.
diff --git a/core/modules/migrate/src/Plugin/migrate/process/Callback.php b/core/modules/migrate/src/Plugin/migrate/process/Callback.php
index b1ecd2d..9b64895 100644
--- a/core/modules/migrate/src/Plugin/migrate/process/Callback.php
+++ b/core/modules/migrate/src/Plugin/migrate/process/Callback.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\migrate\Plugin\migrate\process;
 
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterfaceInterface;
 use Drupal\migrate\ProcessPluginBase;
 use Drupal\migrate\Row;
 
@@ -29,7 +29,7 @@ class Callback extends ProcessPluginBase {
   /**
    * {@inheritdoc}
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterfaceInterface $migrate_executable, Row $row, $destination_property) {
     if (is_callable($this->configuration['callable'])) {
       $value = call_user_func($this->configuration['callable'], $value);
     }
diff --git a/core/modules/migrate/src/Plugin/migrate/process/Concat.php b/core/modules/migrate/src/Plugin/migrate/process/Concat.php
index 4296057..44651d2 100644
--- a/core/modules/migrate/src/Plugin/migrate/process/Concat.php
+++ b/core/modules/migrate/src/Plugin/migrate/process/Concat.php
@@ -9,7 +9,7 @@
 
 use Drupal\Component\Utility\String;
 use Drupal\migrate\MigrateException;
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\ProcessPluginBase;
 use Drupal\migrate\Row;
 
@@ -28,7 +28,7 @@ class Concat extends ProcessPluginBase {
    *
    * Concatenates the strings in the current value.
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     if (is_array($value)) {
       $delimiter = isset($this->configuration['delimiter']) ? $this->configuration['delimiter'] : '';
       return implode($delimiter, $value);
diff --git a/core/modules/migrate/src/Plugin/migrate/process/DedupeBase.php b/core/modules/migrate/src/Plugin/migrate/process/DedupeBase.php
index d4d257e..8970bf8 100644
--- a/core/modules/migrate/src/Plugin/migrate/process/DedupeBase.php
+++ b/core/modules/migrate/src/Plugin/migrate/process/DedupeBase.php
@@ -8,7 +8,7 @@
 namespace Drupal\migrate\Plugin\migrate\process;
 
 use Drupal\migrate\ProcessPluginBase;
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\Row;
 use Drupal\migrate\MigrateException;
 use Drupal\Component\Utility\Unicode;
@@ -26,7 +26,7 @@
   /**
    * {@inheritdoc}
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     $i = 1;
     $postfix = isset($this->configuration['postfix']) ? $this->configuration['postfix'] : '';
     $start = isset($this->configuration['start']) ? $this->configuration['start'] : 0;
diff --git a/core/modules/migrate/src/Plugin/migrate/process/DefaultValue.php b/core/modules/migrate/src/Plugin/migrate/process/DefaultValue.php
index 1758e52..1725818 100644
--- a/core/modules/migrate/src/Plugin/migrate/process/DefaultValue.php
+++ b/core/modules/migrate/src/Plugin/migrate/process/DefaultValue.php
@@ -8,7 +8,7 @@
 namespace Drupal\migrate\Plugin\migrate\process;
 
 use Drupal\migrate\ProcessPluginBase;
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\Row;
 
 
@@ -24,7 +24,7 @@ class DefaultValue extends ProcessPluginBase {
   /**
    * {@inheritdoc}
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     if (!empty($this->configuration['strict'])) {
       return isset($value) ? $value : $this->configuration['default_value'];
     }
diff --git a/core/modules/migrate/src/Plugin/migrate/process/Extract.php b/core/modules/migrate/src/Plugin/migrate/process/Extract.php
index 4ec792b..72a2715 100644
--- a/core/modules/migrate/src/Plugin/migrate/process/Extract.php
+++ b/core/modules/migrate/src/Plugin/migrate/process/Extract.php
@@ -10,7 +10,7 @@
 use Drupal\Component\Utility\NestedArray;
 use Drupal\migrate\ProcessPluginBase;
 use Drupal\migrate\MigrateException;
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\Row;
 
 /**
@@ -27,7 +27,7 @@ class Extract extends ProcessPluginBase {
   /**
    * {@inheritdoc}
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     if (!is_array($value)) {
       throw new MigrateException('Input should be an array.');
     }
diff --git a/core/modules/migrate/src/Plugin/migrate/process/Flatten.php b/core/modules/migrate/src/Plugin/migrate/process/Flatten.php
index fd4cc46..f841ee7 100644
--- a/core/modules/migrate/src/Plugin/migrate/process/Flatten.php
+++ b/core/modules/migrate/src/Plugin/migrate/process/Flatten.php
@@ -6,7 +6,7 @@
  */
 
 namespace Drupal\migrate\Plugin\migrate\process;
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\ProcessPluginBase;
 use Drupal\migrate\Row;
 
@@ -31,7 +31,7 @@ class Flatten extends ProcessPluginBase {
    *
    * For example, array(array(1, 2, array(3, 4))) becomes array(1, 2, 3, 4).
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     return iterator_to_array(new \RecursiveIteratorIterator(new \RecursiveArrayIterator($value)), FALSE);
   }
 }
diff --git a/core/modules/migrate/src/Plugin/migrate/process/Get.php b/core/modules/migrate/src/Plugin/migrate/process/Get.php
index 85da630..8355ad4 100644
--- a/core/modules/migrate/src/Plugin/migrate/process/Get.php
+++ b/core/modules/migrate/src/Plugin/migrate/process/Get.php
@@ -8,7 +8,7 @@
 namespace Drupal\migrate\Plugin\migrate\process;
 
 use Drupal\migrate\ProcessPluginBase;
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\Row;
 
 /**
@@ -28,7 +28,7 @@ class Get extends ProcessPluginBase {
   /**
    * {@inheritdoc}
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     $source = $this->configuration['source'];
     $properties = is_string($source) ? array($source) : $source;
     $return = array();
diff --git a/core/modules/migrate/src/Plugin/migrate/process/Iterator.php b/core/modules/migrate/src/Plugin/migrate/process/Iterator.php
index f0bfdef..01bbd73 100644
--- a/core/modules/migrate/src/Plugin/migrate/process/Iterator.php
+++ b/core/modules/migrate/src/Plugin/migrate/process/Iterator.php
@@ -8,7 +8,7 @@
 namespace Drupal\migrate\Plugin\migrate\process;
 
 use Drupal\migrate\ProcessPluginBase;
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\Row;
 
 /**
@@ -26,7 +26,7 @@ class Iterator extends ProcessPluginBase {
   /**
    * Runs a process pipeline on each destination property per list item.
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     $return = array();
     foreach ($value as $key => $new_value) {
       $new_row = new Row($new_value, array());
@@ -45,7 +45,7 @@ public function transform($value, MigrateExecutable $migrate_executable, Row $ro
    *
    * @param string|int $key
    *   The current key.
-   * @param \Drupal\migrate\MigrateExecutable $migrate_executable
+   * @param \Drupal\migrate\MigrateExecutableInterface $migrate_executable
    *   The migrate executable helper class.
    * @param \Drupal\migrate\Row $row
    *   The current row after processing.
@@ -53,7 +53,7 @@ public function transform($value, MigrateExecutable $migrate_executable, Row $ro
    * @return mixed
    *   The transformed key.
    */
-  protected function transformKey($key, MigrateExecutable $migrate_executable, Row $row) {
+  protected function transformKey($key, MigrateExecutableInterface $migrate_executable, Row $row) {
     $process = array('key' => $this->configuration['key']);
     $migrate_executable->processRow($row, $process, $key);
     return $row->getDestinationProperty('key');
diff --git a/core/modules/migrate/src/Plugin/migrate/process/MachineName.php b/core/modules/migrate/src/Plugin/migrate/process/MachineName.php
index d549267..f103b64 100644
--- a/core/modules/migrate/src/Plugin/migrate/process/MachineName.php
+++ b/core/modules/migrate/src/Plugin/migrate/process/MachineName.php
@@ -9,7 +9,7 @@
 
 use Drupal\Core\Language\LanguageInterface;
 use Drupal\migrate\ProcessPluginBase;
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\Row;
 
 /**
@@ -33,7 +33,7 @@ class MachineName extends ProcessPluginBase {
   /**
    * {@inheritdoc}
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     $new_value = $this->getTransliteration()->transliterate($value, LanguageInterface::LANGCODE_DEFAULT, '_');
     $new_value = strtolower($new_value);
     $new_value = preg_replace('/[^a-z0-9_]+/', '_', $new_value);
diff --git a/core/modules/migrate/src/Plugin/migrate/process/Migration.php b/core/modules/migrate/src/Plugin/migrate/process/Migration.php
index 64dd74f..df709e3 100644
--- a/core/modules/migrate/src/Plugin/migrate/process/Migration.php
+++ b/core/modules/migrate/src/Plugin/migrate/process/Migration.php
@@ -17,7 +17,7 @@
 use Drupal\migrate\Plugin\MigratePluginManager;
 use Drupal\migrate\ProcessPluginBase;
 use Drupal\migrate\Entity\MigrationInterface;
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\Row;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
@@ -67,7 +67,7 @@ public static function create(ContainerInterface $container, array $configuratio
   /**
    * {@inheritdoc}
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     $migration_ids = $this->configuration['migration'];
     if (!is_array($migration_ids)) {
       $migration_ids = array($migration_ids);
diff --git a/core/modules/migrate/src/Plugin/migrate/process/Route.php b/core/modules/migrate/src/Plugin/migrate/process/Route.php
index 1e76def..d4cd813 100644
--- a/core/modules/migrate/src/Plugin/migrate/process/Route.php
+++ b/core/modules/migrate/src/Plugin/migrate/process/Route.php
@@ -10,7 +10,7 @@
 use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
 use Drupal\migrate\Entity\MigrationInterface;
 use Drupal\Core\Path\PathValidatorInterface;
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\ProcessPluginBase;
 use Drupal\migrate\Row;
 
@@ -52,7 +52,7 @@ public static function create(ContainerInterface $container, array $configuratio
    *
    * Set the destination route information based on the source link_path.
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     list($link_path, $options) = $value;
     $extracted = $this->pathValidator->getUrlIfValidWithoutAccessCheck($link_path);
     $route = array();
diff --git a/core/modules/migrate/src/Plugin/migrate/process/SkipProcessOnEmpty.php b/core/modules/migrate/src/Plugin/migrate/process/SkipProcessOnEmpty.php
index 6a8f79c0..3713148 100644
--- a/core/modules/migrate/src/Plugin/migrate/process/SkipProcessOnEmpty.php
+++ b/core/modules/migrate/src/Plugin/migrate/process/SkipProcessOnEmpty.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\migrate\Plugin\migrate\process;
 
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\MigrateSkipProcessException;
 use Drupal\migrate\ProcessPluginBase;
 use Drupal\migrate\Row;
@@ -26,7 +26,7 @@ class SkipProcessOnEmpty extends ProcessPluginBase {
    *
    * Skip the rest of the processing on 0.
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     if (!$value) {
       throw new MigrateSkipProcessException();
     }
diff --git a/core/modules/migrate/src/Plugin/migrate/process/SkipRowIfNotSet.php b/core/modules/migrate/src/Plugin/migrate/process/SkipRowIfNotSet.php
index 4912141..2fa46f2 100644
--- a/core/modules/migrate/src/Plugin/migrate/process/SkipRowIfNotSet.php
+++ b/core/modules/migrate/src/Plugin/migrate/process/SkipRowIfNotSet.php
@@ -8,7 +8,7 @@
 namespace Drupal\migrate\Plugin\migrate\process;
 
 use Drupal\migrate\ProcessPluginBase;
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\Row;
 use Drupal\migrate\MigrateSkipRowException;
 
@@ -25,7 +25,7 @@ class SkipRowIfNotSet extends ProcessPluginBase {
   /**
    * {@inheritdoc}
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     if (!isset($value[$this->configuration['index']])) {
       throw new MigrateSkipRowException();
     }
diff --git a/core/modules/migrate/src/Plugin/migrate/process/SkipRowOnEmpty.php b/core/modules/migrate/src/Plugin/migrate/process/SkipRowOnEmpty.php
index 156dd33..227cbe7 100644
--- a/core/modules/migrate/src/Plugin/migrate/process/SkipRowOnEmpty.php
+++ b/core/modules/migrate/src/Plugin/migrate/process/SkipRowOnEmpty.php
@@ -8,7 +8,7 @@
 namespace Drupal\migrate\Plugin\migrate\process;
 
 use Drupal\migrate\ProcessPluginBase;
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\Row;
 use Drupal\migrate\MigrateSkipRowException;
 
@@ -24,7 +24,7 @@ class SkipRowOnEmpty extends ProcessPluginBase {
   /**
    * {@inheritdoc}
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     if (!$value) {
       throw new MigrateSkipRowException();
     }
diff --git a/core/modules/migrate/src/Plugin/migrate/process/StaticMap.php b/core/modules/migrate/src/Plugin/migrate/process/StaticMap.php
index e800819..bac2381 100644
--- a/core/modules/migrate/src/Plugin/migrate/process/StaticMap.php
+++ b/core/modules/migrate/src/Plugin/migrate/process/StaticMap.php
@@ -10,7 +10,7 @@
 use Drupal\Component\Utility\NestedArray;
 use Drupal\migrate\ProcessPluginBase;
 use Drupal\migrate\MigrateException;
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\Row;
 use Drupal\migrate\MigrateSkipRowException;
 
@@ -28,7 +28,7 @@ class StaticMap extends ProcessPluginBase {
   /**
    * {@inheritdoc}
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     $new_value = $value;
     if (is_array($value)) {
       if (!$value) {
diff --git a/core/modules/migrate/src/Source.php b/core/modules/migrate/src/Source.php
index be4368b..ca2fe70 100644
--- a/core/modules/migrate/src/Source.php
+++ b/core/modules/migrate/src/Source.php
@@ -199,10 +199,10 @@ public function count($refresh = FALSE) {
    *
    * @param \Drupal\migrate\Entity\MigrationInterface $migration
    *   The migration entity.
-   * @param \Drupal\migrate\MigrateExecutable $migrate_executable
+   * @param \Drupal\migrate\MigrateExecutableInterface $migrate_executable
    *   The migration executable.
    */
-  public function __construct(MigrationInterface $migration, MigrateExecutable $migrate_executable) {
+  public function __construct(MigrationInterface $migration, MigrateExecutableInterface $migrate_executable) {
     $this->migration = $migration;
     $this->migrateExecutable = $migrate_executable;
     $configuration = $migration->get('source');
diff --git a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/BlockPluginId.php b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/BlockPluginId.php
index d5da611..966641b 100644
--- a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/BlockPluginId.php
+++ b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/BlockPluginId.php
@@ -10,7 +10,7 @@
 use Drupal\Core\Entity\EntityStorageInterface;
 use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
 use Drupal\migrate\Entity\MigrationInterface;
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\MigrateSkipRowException;
 use Drupal\migrate\Plugin\MigratePluginManager;
 use Drupal\migrate\ProcessPluginBase;
@@ -64,7 +64,7 @@ public static function create(ContainerInterface $container, array $configuratio
    *
    * Set the block plugin id.
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     if (is_array($value)) {
       list($module, $delta) = $value;
       switch ($module) {
diff --git a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/BlockRegion.php b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/BlockRegion.php
index 386bcae..0f61515 100644
--- a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/BlockRegion.php
+++ b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/BlockRegion.php
@@ -7,7 +7,7 @@
 namespace Drupal\migrate_drupal\Plugin\migrate\process\d6;
 
 use Drupal\Component\Utility\NestedArray;
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\ProcessPluginBase;
 use Drupal\migrate\Row;
 
@@ -23,7 +23,7 @@ class BlockRegion extends ProcessPluginBase {
    * Set the destination block region, based on the source region and theme as
    * well as the current destination default theme.
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     list($region, $source_theme, $destination_theme) = $value;
 
     // Theme is the same on both source and destination, we will assume they
diff --git a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/BlockSettings.php b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/BlockSettings.php
index cda0a0d..0d05eb2 100644
--- a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/BlockSettings.php
+++ b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/BlockSettings.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\migrate_drupal\Plugin\migrate\process\d6;
 
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\ProcessPluginBase;
 use Drupal\migrate\Row;
 
@@ -23,7 +23,7 @@ class BlockSettings extends ProcessPluginBase {
    *
    * Set the block configuration.
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     list($plugin, $delta, $old_settings) = $value;
     $settings = array();
     switch ($plugin) {
diff --git a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/BlockTheme.php b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/BlockTheme.php
index fc82e2e..290ed85 100644
--- a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/BlockTheme.php
+++ b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/BlockTheme.php
@@ -7,7 +7,7 @@
 namespace Drupal\migrate_drupal\Plugin\migrate\process\d6;
 
 use Drupal\migrate\Entity\MigrationInterface;
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\ProcessPluginBase;
 use Drupal\migrate\Row;
 use Drupal\Core\Config\Config;
@@ -76,7 +76,7 @@ public static function create(ContainerInterface $container, array $configuratio
    *
    * Set the block theme, based on the current default theme.
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     list($theme, $d6_default_theme, $d6_admin_theme) = $value;
 
     // If the source theme exists on the destination, we're good.
diff --git a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/BlockVisibility.php b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/BlockVisibility.php
index de0f7f0..f072b17 100644
--- a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/BlockVisibility.php
+++ b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/BlockVisibility.php
@@ -8,7 +8,7 @@
 namespace Drupal\migrate_drupal\Plugin\migrate\process\d6;
 
 use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\ProcessPluginBase;
 use Drupal\migrate\Row;
 use Drupal\migrate\Entity\MigrationInterface;
@@ -55,7 +55,7 @@ public static function create(ContainerInterface $container, array $configuratio
    *
    * Set the block visibility settings.
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     list($pages, $roles, $old_visibility) = $value;
     $visibility = array();
 
diff --git a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/CckFile.php b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/CckFile.php
index b0f48fa..7732aff 100644
--- a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/CckFile.php
+++ b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/CckFile.php
@@ -8,7 +8,7 @@
 namespace Drupal\migrate_drupal\Plugin\migrate\process\d6;
 
 use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\Row;
 use Drupal\migrate\Plugin\migrate\process\Route;
 
@@ -22,7 +22,7 @@ class CckFile extends Route implements ContainerFactoryPluginInterface {
   /**
    * {@inheritdoc}
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     list($fid, $list, $data) = $value;
 
     // If $fid is still an array at this point, that's because we have a file
diff --git a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/CckLink.php b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/CckLink.php
index 835ba87..cf7fb96 100644
--- a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/CckLink.php
+++ b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/CckLink.php
@@ -9,7 +9,7 @@
 
 use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
 use Drupal\migrate\Entity\MigrationInterface;
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\ProcessPluginBase;
 use Drupal\migrate\Row;
 use Drupal\migrate\Plugin\migrate\process\Route;
@@ -45,7 +45,7 @@ public static function create(ContainerInterface $container, array $configuratio
   /**
    * {@inheritdoc}
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     list($url, $title, $attributes) = $value;
 
     // Drupal 6 link attributes are double serialized.
diff --git a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/FieldFormatterSettingsDefaults.php b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/FieldFormatterSettingsDefaults.php
index d927a59..74c3841 100644
--- a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/FieldFormatterSettingsDefaults.php
+++ b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/FieldFormatterSettingsDefaults.php
@@ -9,7 +9,7 @@
 
 use Drupal\migrate\MigrateException;
 use Drupal\migrate\ProcessPluginBase;
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\Row;
 
 /**
@@ -27,7 +27,7 @@ class FieldFormatterSettingsDefaults extends ProcessPluginBase {
    * Set field formatter settings when the map didn't map: for date
    * formatters, the fallback format, for everything else, empty array.
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     // If the 1 index is set then the map missed.
     if (isset($value[1])) {
       $module = $row->getSourceProperty('module');
diff --git a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/FieldIdGenerator.php b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/FieldIdGenerator.php
index e9c900d..606edbe 100644
--- a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/FieldIdGenerator.php
+++ b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/FieldIdGenerator.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\migrate_drupal\Plugin\migrate\process\d6;
 
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\ProcessPluginBase;
 use Drupal\migrate\Row;
 
@@ -23,7 +23,7 @@ class FieldIdGenerator extends ProcessPluginBase {
   /**
    * {@inheritdoc}
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     return $value[0] . "." . $value[1];
   }
 
diff --git a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/FieldInstanceDefaults.php b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/FieldInstanceDefaults.php
index 50e6679..67dc9cf 100644
--- a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/FieldInstanceDefaults.php
+++ b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/FieldInstanceDefaults.php
@@ -6,7 +6,7 @@
 
 namespace Drupal\migrate_drupal\Plugin\migrate\process\d6;
 
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\ProcessPluginBase;
 use Drupal\migrate\Row;
 
@@ -22,7 +22,7 @@ class FieldInstanceDefaults extends ProcessPluginBase {
    *
    * Set the field instance defaults.
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     list($widget_type, $widget_settings) = $value;
     $default = array();
 
diff --git a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/FieldInstanceSettings.php b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/FieldInstanceSettings.php
index 424bdb0..0003a04 100644
--- a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/FieldInstanceSettings.php
+++ b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/FieldInstanceSettings.php
@@ -6,7 +6,7 @@
 
 namespace Drupal\migrate_drupal\Plugin\migrate\process\d6;
 
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\ProcessPluginBase;
 use Drupal\migrate\Row;
 
@@ -22,7 +22,7 @@ class FieldInstanceSettings extends ProcessPluginBase {
    *
    * Set the field instance defaults.
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     list($widget_type, $widget_settings, $field_settings) = $value;
     $settings = array();
     switch ($widget_type) {
diff --git a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/FieldInstanceWidgetSettings.php b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/FieldInstanceWidgetSettings.php
index d32d336..fa6daa1 100644
--- a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/FieldInstanceWidgetSettings.php
+++ b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/FieldInstanceWidgetSettings.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\migrate_drupal\Plugin\migrate\process\d6;
 
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\ProcessPluginBase;
 use Drupal\migrate\Row;
 
@@ -25,7 +25,7 @@ class FieldInstanceWidgetSettings extends ProcessPluginBase {
    *
    * Get the field instance default/mapped widget settings.
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     list($widget_type, $widget_settings) = $value;
     return $this->getSettings($widget_type, $widget_settings);
   }
diff --git a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/FieldSettings.php b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/FieldSettings.php
index 9b76cb2..9abd53b 100644
--- a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/FieldSettings.php
+++ b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/FieldSettings.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\migrate_drupal\Plugin\migrate\process\d6;
 
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\ProcessPluginBase;
 use Drupal\migrate\Row;
 
@@ -25,7 +25,7 @@ class FieldSettings extends ProcessPluginBase {
    *
    * Get the field default/mapped settings.
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     list($field_type, $global_settings, $widget_settings) = $value;
     return $this->getSettings($field_type, $global_settings, $widget_settings);
   }
diff --git a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/FieldTypeDefaults.php b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/FieldTypeDefaults.php
index 0deedd0..c3ebae0 100644
--- a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/FieldTypeDefaults.php
+++ b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/FieldTypeDefaults.php
@@ -9,7 +9,7 @@
 
 use Drupal\migrate\MigrateException;
 use Drupal\migrate\ProcessPluginBase;
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\Row;
 
 /**
@@ -24,7 +24,7 @@ class FieldTypeDefaults extends ProcessPluginBase {
   /**
    * {@inheritdoc}
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     if (is_array($value)) {
       if ($row->getSourceProperty('module') == 'date') {
         $value = 'datetime_default';
diff --git a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/FileUri.php b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/FileUri.php
index 164ece0..722cc96 100644
--- a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/FileUri.php
+++ b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/FileUri.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\migrate_drupal\Plugin\migrate\process\d6;
 
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\ProcessPluginBase;
 use Drupal\migrate\Row;
 
@@ -23,7 +23,7 @@ class FileUri extends ProcessPluginBase {
   /**
    * {@inheritdoc}
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
 
     list($filepath, $file_directory_path, $temp_directory_path, $is_public) = $value;
 
diff --git a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/FilterFormatPermission.php b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/FilterFormatPermission.php
index 7eb2a11..42135e1 100644
--- a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/FilterFormatPermission.php
+++ b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/FilterFormatPermission.php
@@ -10,7 +10,7 @@
 
 use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
 use Drupal\migrate\Entity\MigrationInterface;
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\Plugin\MigrateProcessInterface;
 use Drupal\migrate\ProcessPluginBase;
 use Drupal\migrate\Row;
@@ -60,7 +60,7 @@ public static function create(ContainerInterface $container, array $configuratio
    *
    * Migrate filter format serial to string id in permission name.
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     $rid = $row->getSourceProperty('rid');
     if ($formats = $row->getSourceProperty("filter_permissions:$rid")) {
       foreach ($formats as $format) {
diff --git a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/InternalUri.php b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/InternalUri.php
index bcbac21..beea834 100644
--- a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/InternalUri.php
+++ b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/InternalUri.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\migrate_drupal\Plugin\migrate\process\d6;
 
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\ProcessPluginBase;
 use Drupal\migrate\Row;
 
@@ -23,7 +23,7 @@ class InternalUri extends ProcessPluginBase {
   /**
    * {@inheritdoc}
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     list($path) = $value;
 
     if (parse_url($path, PHP_URL_SCHEME) === NULL) {
diff --git a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/NodeUpdate7008.php b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/NodeUpdate7008.php
index 30f6c89..50917d1 100644
--- a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/NodeUpdate7008.php
+++ b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/NodeUpdate7008.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\migrate_drupal\Plugin\migrate\process\d6;
 
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\ProcessPluginBase;
 use Drupal\migrate\Row;
 
@@ -25,7 +25,7 @@ class NodeUpdate7008 extends ProcessPluginBase {
    *
    * Split the 'administer nodes' permission from 'access content overview'.
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     if ($value === 'administer nodes') {
       return array($value, 'access content overview');
     }
diff --git a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/ProfileFieldSettings.php b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/ProfileFieldSettings.php
index c958994..4928294 100644
--- a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/ProfileFieldSettings.php
+++ b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/ProfileFieldSettings.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\migrate_drupal\Plugin\migrate\process\d6;
 
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\ProcessPluginBase;
 use Drupal\migrate\Row;
 
@@ -23,7 +23,7 @@ class ProfileFieldSettings extends ProcessPluginBase {
    *
    * Set the profile field settings configuration.
    */
-  public function transform($type, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($type, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     $settings = array();
     switch ($type) {
       case 'date':
diff --git a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/SearchConfigurationRankings.php b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/SearchConfigurationRankings.php
index 2dad42f..9044b02 100644
--- a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/SearchConfigurationRankings.php
+++ b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/SearchConfigurationRankings.php
@@ -8,7 +8,7 @@
 namespace Drupal\migrate_drupal\Plugin\migrate\process\d6;
 
 use Drupal\migrate\ProcessPluginBase;
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\Row;
 
 /**
@@ -25,7 +25,7 @@ class SearchConfigurationRankings extends ProcessPluginBase {
    *
    * Generate the configuration rankings.
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     $return = array();
     foreach ($row->getSource() as $name => $rank) {
       if (substr($name, 0, 10) == 'node_rank_' && $rank) {
diff --git a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/SystemUpdate7000.php b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/SystemUpdate7000.php
index 6c9055b..eceed0f 100644
--- a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/SystemUpdate7000.php
+++ b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/SystemUpdate7000.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\migrate_drupal\Plugin\migrate\process\d6;
 
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\ProcessPluginBase;
 use Drupal\migrate\Row;
 
@@ -25,7 +25,7 @@ class SystemUpdate7000 extends ProcessPluginBase {
    *
    * Rename blog and forum permissions to be consistent with other content types.
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     $value = preg_replace('/(?<=^|,\ )create\ blog\ entries(?=,|$)/', 'create blog content', $value);
     $value = preg_replace('/(?<=^|,\ )edit\ own\ blog\ entries(?=,|$)/', 'edit own blog content', $value);
     $value = preg_replace('/(?<=^|,\ )edit\ any\ blog\ entry(?=,|$)/', 'edit any blog content', $value);
diff --git a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/UserPicture.php b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/UserPicture.php
index 4af57bb..537eacf 100644
--- a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/UserPicture.php
+++ b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/UserPicture.php
@@ -9,7 +9,7 @@
 
 use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
 use Drupal\migrate\Entity\MigrationInterface;
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\Plugin\MigrateProcessInterface;
 use Drupal\migrate\ProcessPluginBase;
 use Drupal\migrate\Row;
@@ -56,7 +56,7 @@ public static function create(ContainerInterface $container, array $configuratio
   /**
    * {@inheritdoc}
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     return $row->getSourceProperty('picture') ? $this->migrationPlugin->transform($value, $migrate_executable, $row, $destination_property) : NULL;
   }
 
diff --git a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/UserUpdate7002.php b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/UserUpdate7002.php
index b060efb..6424583 100644
--- a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/UserUpdate7002.php
+++ b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/UserUpdate7002.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\migrate_drupal\Plugin\migrate\process\d6;
 
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\ProcessPluginBase;
 use Drupal\migrate\Row;
 
@@ -40,7 +40,7 @@ public function __construct(array $configuration, $plugin_id, array $plugin_defi
   /**
    * {@inheritdoc}
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     $timezone = NULL;
 
     if ($row->hasSourceProperty('timezone_name')) {
diff --git a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/UserUpdate8002.php b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/UserUpdate8002.php
index f7c655f..e9ac311 100644
--- a/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/UserUpdate8002.php
+++ b/core/modules/migrate_drupal/src/Plugin/migrate/process/d6/UserUpdate8002.php
@@ -6,7 +6,7 @@
  */
 
 namespace Drupal\migrate_drupal\Plugin\migrate\process\d6;
-use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate\MigrateExecutableInterface;
 use Drupal\migrate\ProcessPluginBase;
 use Drupal\migrate\Row;
 
@@ -24,7 +24,7 @@ class UserUpdate8002 extends ProcessPluginBase {
    *
    * Keep the predefined roles for rid 1 and 2.
    */
-  public function transform($value, MigrateExecutable $migrate_executable, Row $row, $destination_property) {
+  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
     $rid = $row->getSourceProperty('rid');
     $map = array(
       1 => 'anonymous',
