diff --git a/src/FieldBlockHelper.php b/src/FieldBlockHelper.php
index e556315c6f0ea16657ff56e264bb51876abf7b8f..e563ecd74be524b4f0c18fe564ddb5ff6897937e 100644
--- a/src/FieldBlockHelper.php
+++ b/src/FieldBlockHelper.php
@@ -2,50 +2,7 @@
 
 namespace Drupal\fieldblock;
 
-use Drupal\Core\Entity\Entity\EntityViewDisplay;
-use Drupal\Core\StringTranslation\StringTranslationTrait;
 
 class FieldBlockHelper {
 
-  use StringTranslationTrait;
-
-
-
-
-  /**
-   * Builds a list of fields that have been made available as a block.
-   *
-   * @return array An array of fieldblocks.
-   *
-   * @todo decide if this function should go into the fieldblock deriver class.
-   */
-  public static function fieldBlockGetBlockList() {
-    $fieldblocks = &drupal_static(__FUNCTION__);
-
-    if (!isset($fieldblocks)) {
-      $fieldblocks = array();
-
-      $entity_view_displays = EntityViewDisplay::loadMultiple();
-      /** @var \Drupal\Core\Entity\EntityDisplayModeInterface $entity_view_display */
-      foreach ($entity_view_displays as $display_id => $entity_view_display) {
-        $view_display_fieldblocks = $entity_view_display->getThirdPartySettings('fieldblock');
-        $entity_type = $entity_view_display->get('targetEntityType');
-        $bundle = $entity_view_display->get('bundle');
-        $mode = $entity_view_display->get('mode');
-
-        foreach ($view_display_fieldblocks as $field_name => $field_label) {
-          $fieldblock_id = $display_id . ':' . $field_name;
-          $fieldblocks[$fieldblock_id] = t('@field field (from @type: @bundle: @mode)', array(
-            '@field' => $field_label,
-            '@type' => $entity_type,
-            '@bundle' => $bundle,
-            '@mode' => $mode,
-          ));
-        }
-      }
-    }
-
-    return $fieldblocks;
-  }
-
 }
diff --git a/src/Plugin/Derivative/FieldBlock.php b/src/Plugin/Derivative/FieldBlock.php
index 54b12d31cce5949c10bd36fdbf9f4c93e1ae85de..ca1be84552b14b0914bc88b420d0c39006dc3bbe 100644
--- a/src/Plugin/Derivative/FieldBlock.php
+++ b/src/Plugin/Derivative/FieldBlock.php
@@ -9,6 +9,8 @@ namespace Drupal\fieldblock\Plugin\Derivative;
 
 use Drupal\Component\Plugin\Derivative\DeriverBase;
 use Drupal\fieldblock\FieldBlockHelper;
+use Drupal\Core\Entity\Entity\EntityViewDisplay;
+use Drupal\Core\StringTranslation\StringTranslationTrait;
 
 /**
  * Provides block plugin definitions for fieldblock blocks.
@@ -16,6 +18,9 @@ use Drupal\fieldblock\FieldBlockHelper;
  * @see \Drupal\fieldblock\Plugin\Block\FieldBlock
  */
 class FieldBlock extends DeriverBase {
+
+  use StringTranslationTrait;
+
   /**
    * {@inheritdoc}
    */
@@ -29,4 +34,40 @@ class FieldBlock extends DeriverBase {
 
     return $this->derivatives;
   }
+
+  /**
+   * Builds a list of fields that have been made available as a block.
+   *
+   * @return array An array of fieldblocks.
+   */
+  public static function fieldBlockGetBlockList() {
+    $fieldblocks = &drupal_static(__FUNCTION__);
+
+    if (!isset($fieldblocks)) {
+      $fieldblocks = array();
+
+      // Get all EntityViewDisplay config entities and iterate over them.
+      $entity_view_displays = EntityViewDisplay::loadMultiple();
+      /** @var \Drupal\Core\Entity\EntityDisplayModeInterface $entity_view_display */
+      foreach ($entity_view_displays as $display_id => $entity_view_display) {
+        $view_display_fieldblocks = $entity_view_display->getThirdPartySettings('fieldblock');
+        $entity_type = $entity_view_display->get('targetEntityType');
+        $bundle = $entity_view_display->get('bundle');
+        $mode = $entity_view_display->get('mode');
+
+        foreach ($view_display_fieldblocks as $field_name => $field_label) {
+          $fieldblock_id = $display_id . ':' . $field_name;
+          $fieldblocks[$fieldblock_id] = t('@field field (from @type: @bundle: @mode)', array(
+            '@field' => $field_label,
+            '@type' => $entity_type,
+            '@bundle' => $bundle,
+            '@mode' => $mode,
+          ));
+        }
+      }
+    }
+
+    return $fieldblocks;
+  }
+
 }