diff --git a/field_permissions.module b/field_permissions.module
index aa7910c..2de2a08 100644
--- a/field_permissions.module
+++ b/field_permissions.module
@@ -123,8 +123,7 @@ function field_permissions_permissions_matrix(FieldStorageDefinitionInterface $f
     '#type' => 'value',
     '#value' => $role_names,
   );
-  $label = $field->getName();
-  $permissions = FieldPermissionsService::listFieldPermissionSupport($field, $label);
+  $permissions = \Drupal::service('field_permissions.permissions_service')->getPermissionList($field);
   $options = array_keys($permissions);
   /*header theme table */
   $form['permissions'] = array(
@@ -140,7 +139,7 @@ function field_permissions_permissions_matrix(FieldStorageDefinitionInterface $f
       'class' => array('checkbox'),
     );
   }
-  $test = \Drupal::service('field_permissions.permissions_service')->getPermissionValue();
+  $test = \Drupal::service('field_permissions.permissions_service')->getPermissionsByRole();
   foreach ($permissions as $provider => $permission) {
     $form['permissions'][$provider]['description'] = array(
       '#type' => 'inline_template',
diff --git a/field_permissions.permissions.yml b/field_permissions.permissions.yml
index 1c2ad37..0f968a7 100644
--- a/field_permissions.permissions.yml
+++ b/field_permissions.permissions.yml
@@ -1,5 +1,5 @@
 permission_callbacks:
-  - Drupal\field_permissions\FieldPermissionsService::permissions
+  - Drupal\field_permissions\FieldPermissionsService::getAllPermissions
 admin_field_permissions:
   title: 'Administer field permissions'
   description: 'Manage field permissions and field permissions settings.'
diff --git a/src/Controller/FieldPermissionsController.php b/src/Controller/FieldPermissionsController.php
index e339bb5..f5cb640 100644
--- a/src/Controller/FieldPermissionsController.php
+++ b/src/Controller/FieldPermissionsController.php
@@ -129,7 +129,7 @@ class FieldPermissionsController extends ControllerBase {
     $row[3]['data'] = implode(",", $field_storage->getBundles());
 
     $default_type = $this->fieldPermissions->fieldGetPermissionType($field_storage);
-    $field_permissions = $this->fieldPermissions->getPermissionValue();
+    $field_permissions = $this->fieldPermissions->getPermissionsByRole();
     if ($default_type == FIELD_PERMISSIONS_PUBLIC) {
       $row[4]['data'] = $this->t('Public field (author and administrators can edit, everyone can view)');
       $row[4]['colspan'] = 5;
@@ -142,7 +142,7 @@ class FieldPermissionsController extends ControllerBase {
       // This is a field with custom permissions. Link the field to the
       // appropriate row of the permissions page, and theme it based on
       // whether all users have access.
-      foreach (array_keys($this->fieldPermissions->listFieldPermissionSupport($field_storage)) as $index => $permission) {
+      foreach (array_keys($this->fieldPermissions->getPermissionList($field_storage)) as $index => $permission) {
         $all_access = in_array($permission, $field_permissions[RoleInterface::ANONYMOUS_ID]) && in_array($permission, $field_permissions[RoleInterface::AUTHENTICATED_ID]);
         $class = $all_access ? 'field-permissions-status-on' : 'field-permissions-status-off';
         $text = $all_access ? $this->t('All users have this permission') : $this->t('Not all users have this permission');
diff --git a/src/FieldPermissionsService.php b/src/FieldPermissionsService.php
index 0bc792a..d093bfd 100644
--- a/src/FieldPermissionsService.php
+++ b/src/FieldPermissionsService.php
@@ -9,6 +9,7 @@ use Drupal\Core\Entity\EntityTypeManagerInterface;
 use Drupal\Core\Field\FieldDefinitionInterface;
 use Drupal\Core\Field\FieldItemListInterface;
 use Drupal\Core\Session\AccountInterface;
+use Drupal\Core\StringTranslation\StringTranslationTrait;
 use Drupal\field\FieldStorageConfigInterface;
 use Drupal\user\EntityOwnerInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
@@ -18,6 +19,8 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
  */
 class FieldPermissionsService implements FieldPermissionsServiceInterface, ContainerInjectionInterface {
 
+  use StringTranslationTrait;
+
   /**
    * The entity type manager.
    *
@@ -46,30 +49,28 @@ class FieldPermissionsService implements FieldPermissionsServiceInterface, Conta
 
   /**
    * {@inheritdoc}
-   *
-   * @todo Use `StringTranslationTrait::t()`.
    */
-  public static function getList($field_label = '') {
+  public function getList($field_label = '') {
     return [
       'create' => [
-        'label' => t('Create field'),
-        'title' => t('Create own value for field @field', ['@field' => $field_label]),
+        'label' => $this->t('Create field'),
+        'title' => $this->t('Create own value for field @field', ['@field' => $field_label]),
       ],
       'edit own' => [
-        'label' => t('Edit own field'),
-        'title' => t('Edit own value for field @field', ['@field' => $field_label]),
+        'label' => $this->t('Edit own field'),
+        'title' => $this->t('Edit own value for field @field', ['@field' => $field_label]),
       ],
       'edit' => [
-        'label' => t('Edit field'),
-        'title' => t("Edit anyone's value for field @field", ['@field' => $field_label]),
+        'label' => $this->t('Edit field'),
+        'title' => $this->t("Edit anyone's value for field @field", ['@field' => $field_label]),
       ],
       'view own' => [
-        'label' => t('View own field'),
-        'title' => t('View own value for field @field', ['@field' => $field_label]),
+        'label' => $this->t('View own field'),
+        'title' => $this->t('View own value for field @field', ['@field' => $field_label]),
       ],
       'view' => [
-        'label' => t('View field'),
-        'title' => t("View anyone's value for field @field", ['@field' => $field_label]),
+        'label' => $this->t('View field'),
+        'title' => $this->t("View anyone's value for field @field", ['@field' => $field_label]),
       ],
     ];
   }
@@ -77,9 +78,9 @@ class FieldPermissionsService implements FieldPermissionsServiceInterface, Conta
   /**
    * {@inheritdoc}
    */
-  public static function listFieldPermissionSupport(FieldStorageConfigInterface $field, $label = '') {
+  public function getPermissionList(FieldStorageConfigInterface $field) {
     $permissions = [];
-    $permission_list = static::getList($label);
+    $permission_list = $this->getList($field->getName());
     foreach ($permission_list as $permission_type => $permission_info) {
       $permission = str_replace(' ', '_', $permission_type) . '_' . $field->getName();
       $permissions[$permission] = [
@@ -93,11 +94,11 @@ class FieldPermissionsService implements FieldPermissionsServiceInterface, Conta
   /**
    * {@inheritdoc}
    */
-  public function getPermissionValue() {
+  public function getPermissionsByRole() {
     /** @var \Drupal\user\RoleInterface[] $roles */
     $roles = $this->entityTypeManager->getStorage('user_role')->loadMultiple();
     $field_field_permissions = [];
-    $field_permission_perm = $this->permissions();
+    $field_permission_perm = $this->getAllPermissions();
     foreach ($roles as $role_name => $role) {
       $role_permissions = $role->getPermissions();
       $field_field_permissions[$role_name] = [];
@@ -121,7 +122,7 @@ class FieldPermissionsService implements FieldPermissionsServiceInterface, Conta
   /**
    * {@inheritdoc}
    */
-  public function permissions() {
+  public function getAllPermissions() {
     $permissions = [];
     /** @var FieldStorageConfigInterface[] $fields */
     $fields = $this->entityTypeManager->getStorage('field_storage_config')->loadMultiple();
@@ -130,7 +131,7 @@ class FieldPermissionsService implements FieldPermissionsServiceInterface, Conta
       // Check if permissionType is not default, before creating permissions.
       $type = static::fieldGetPermissionType($field);
       if ($type <> FIELD_PERMISSIONS_PUBLIC) {
-        $permission_list = static::getList($field_name);
+        $permission_list = $this->getList($field_name);
         $perms_name = array_keys($permission_list);
         foreach ($perms_name as $perm_name) {
           $name = str_replace(' ', '_', $perm_name) . '_' . $field_name;
diff --git a/src/FieldPermissionsServiceInterface.php b/src/FieldPermissionsServiceInterface.php
index d29e387..79a4b0c 100644
--- a/src/FieldPermissionsServiceInterface.php
+++ b/src/FieldPermissionsServiceInterface.php
@@ -20,35 +20,43 @@ interface FieldPermissionsServiceInterface {
    *   The human readable name of the field to use when constructing permission
    *   names. Usually this will be derived from one or more of the field
    *   instance labels.
+   *
+   * @return array
+   *   An array keyed by the permission machine name, with label and description
+   *   keys. Note that this machine name doesn't include the field name.
    */
-  public static function getList($field_label = '');
+  public function getList($field_label = '');
 
   /**
-   * Returns field permissions in format suitable for use in hook_permission.
+   * Returns permissions for a given field.
    *
    * @param \Drupal\field\FieldStorageConfigInterface $field
    *   The field to return permissions for.
    *
    * @return array
-   *   An array of permission information.
-   *
-   * @todo Rename this for clarity.
+   *   An array of permissions for a given field, keyed by the permission
+   *   machine name.
    */
-  public static function listFieldPermissionSupport(FieldStorageConfigInterface $field, $label = '');
+  public function getPermissionList(FieldStorageConfigInterface $field);
 
   /**
-   * Get default value for checkbox role permission.
+   * Get all field permissions keyed by role ID.
    *
-   * @todo Rename this for clarity.
+   * @return array
+   *   An array of permission information keyed by role ID.
    */
-  public function getPermissionValue();
+  public function getPermissionsByRole();
 
   /**
-   * Returns permissions implements in field_permissions.
+   * Returns permissions for all fields that are using custom permissions.
+   *
+   * This is suitable for use as a permission callback.
    *
-   * @todo Rename this for clarity.
+   * @return array
+   *   An array of all permissions for all fields that implement the custom
+   *   permission type.
    */
-  public function permissions();
+  public function getAllPermissions();
 
   /**
    * Get the permission type for a given field.
diff --git a/tests/src/Functional/FieldPermissionsTestBase.php b/tests/src/Functional/FieldPermissionsTestBase.php
index aafeb75..3fc9e82 100644
--- a/tests/src/Functional/FieldPermissionsTestBase.php
+++ b/tests/src/Functional/FieldPermissionsTestBase.php
@@ -139,7 +139,7 @@ abstract class FieldPermissionsTestBase extends BrowserTestBase {
    */
   protected function getCustomPermissionGrid($role, array $field_perm = []) {
     $custom_perm = [];
-    $permission_list = $this->container->get('field_permissions.permissions_service')->permissions();
+    $permission_list = $this->container->get('field_permissions.permissions_service')->getAllPermissions();
     $permission_list = array_keys($permission_list);
     $permission_role = array_keys(user_roles());
 
