diff --git a/src/Controller/AutocompleteController.php b/src/Controller/AutocompleteController.php
index e210c90..4212e55 100644
--- a/src/Controller/AutocompleteController.php
+++ b/src/Controller/AutocompleteController.php
@@ -76,7 +76,7 @@ class AutocompleteController implements ContainerInjectionInterface {
    */
   public function autocomplete(Request $request, $linkit_profile_id) {
     $this->linkitProfile = $this->linkitProfileStorage->load($linkit_profile_id);
-    $string = Unicode::strtolower($request->query->get('q'));
+    $string = mb_strtolower($request->query->get('q'));
 
     $matches = $this->resultManager->getResults($this->linkitProfile, $string);
 
diff --git a/src/Form/Attribute/AddForm.php b/src/Form/Attribute/AddForm.php
index 059ef51..4ffab0e 100644
--- a/src/Form/Attribute/AddForm.php
+++ b/src/Form/Attribute/AddForm.php
@@ -124,7 +124,7 @@ class AddForm extends FormBase {
       ]);
     }
     else {
-      drupal_set_message($this->t('Added %label attribute.', ['%label' => $plugin->getLabel()]));
+      $this->messenger()->addStatus($this->t('Added %label attribute.', ['%label' => $plugin->getLabel()]));
 
       $form_state->setRedirect('linkit.attributes', [
         'linkit_profile' => $this->linkitProfile->id(),
diff --git a/src/Form/Attribute/DeleteForm.php b/src/Form/Attribute/DeleteForm.php
index d31e44b..6242cdd 100644
--- a/src/Form/Attribute/DeleteForm.php
+++ b/src/Form/Attribute/DeleteForm.php
@@ -77,7 +77,7 @@ class DeleteForm extends ConfirmFormBase {
       $this->linkitProfile->removeAttribute($this->linkitAttribute->getPluginId());
       $this->linkitProfile->save();
 
-      drupal_set_message($this->t('The attribute %label has been deleted.', ['%label' => $this->linkitAttribute->getLabel()]));
+      $this->messenger()->addStatus($this->t('The attribute %label has been deleted.', ['%label' => $this->linkitAttribute->getLabel()]));
       $this->logger('linkit')->notice('The attribute %label has been deleted in the @profile profile.', [
         '%label' => $this->linkitAttribute->getLabel(),
         '@profile' => $this->linkitProfile->label(),
diff --git a/src/Form/Attribute/EditForm.php b/src/Form/Attribute/EditForm.php
index 0b76601..a4ccd8d 100644
--- a/src/Form/Attribute/EditForm.php
+++ b/src/Form/Attribute/EditForm.php
@@ -82,7 +82,7 @@ class EditForm extends FormBase {
     $this->linkitAttribute->submitConfigurationForm($form, $plugin_data);
     $this->linkitProfile->save();
 
-    drupal_set_message($this->t('Saved %label configuration.', array('%label' => $this->linkitAttribute->getLabel())));
+    $this->messenger()->addStatus($this->t('Saved %label configuration.', array('%label' => $this->linkitAttribute->getLabel())));
     $this->logger('linkit')->notice('The attribute %label has been updated in the @profile profile.', [
       '%label' => $this->linkitAttribute->getLabel(),
       '@profile' => $this->linkitProfile->label(),
diff --git a/src/Form/Matcher/AddForm.php b/src/Form/Matcher/AddForm.php
index 0acad73..d04c70d 100644
--- a/src/Form/Matcher/AddForm.php
+++ b/src/Form/Matcher/AddForm.php
@@ -130,7 +130,7 @@ class AddForm extends FormBase {
       ]);
     }
     else {
-      drupal_set_message($this->t('Added %label matcher.', ['%label' => $plugin->getLabel()]));
+      $this->messenger()->addStatus($this->t('Added %label matcher.', ['%label' => $plugin->getLabel()]));
 
       $form_state->setRedirect('linkit.matchers', [
         'linkit_profile' => $this->linkitProfile->id(),
diff --git a/src/Form/Matcher/DeleteForm.php b/src/Form/Matcher/DeleteForm.php
index bff4737..80addae 100644
--- a/src/Form/Matcher/DeleteForm.php
+++ b/src/Form/Matcher/DeleteForm.php
@@ -75,7 +75,7 @@ class DeleteForm extends ConfirmFormBase {
   public function submitForm(array &$form, FormStateInterface $form_state) {
     $this->linkitProfile->removeMatcher($this->linkitMatcher);
 
-    drupal_set_message($this->t('The matcher %label has been deleted.', ['%label' => $this->linkitMatcher->getLabel()]));
+    $this->messenger()->addStatus($this->t('The matcher %label has been deleted.', ['%label' => $this->linkitMatcher->getLabel()]));
     $this->logger('linkit')->notice('The matcher %label has been deleted in the @profile profile.', [
       '%label' => $this->linkitMatcher->getLabel(),
       '@profile' => $this->linkitProfile->label(),
diff --git a/src/Form/Matcher/EditForm.php b/src/Form/Matcher/EditForm.php
index 193d326..5b2158b 100644
--- a/src/Form/Matcher/EditForm.php
+++ b/src/Form/Matcher/EditForm.php
@@ -79,7 +79,7 @@ class EditForm extends FormBase {
     $this->linkitMatcher->submitConfigurationForm($form, $plugin_data);
     $this->linkitProfile->save();
 
-    drupal_set_message($this->t('Saved %label configuration.', array('%label' => $this->linkitMatcher->getLabel())));
+    $this->messenger()->addStatus($this->t('Saved %label configuration.', array('%label' => $this->linkitMatcher->getLabel())));
     $this->logger('linkit')->notice('The matcher %label has been updated in the @profile profile.', [
       '%label' => $this->linkitMatcher->getLabel(),
       '@profile' => $this->linkitProfile->label(),
diff --git a/src/Form/Profile/FormBase.php b/src/Form/Profile/FormBase.php
index 52f2d94..08eb279 100644
--- a/src/Form/Profile/FormBase.php
+++ b/src/Form/Profile/FormBase.php
@@ -69,10 +69,12 @@ abstract class FormBase extends EntityForm {
     $linkit_profile->set('label', trim($linkit_profile->label()));
 
     $status = $linkit_profile->save();
-    $edit_link = $this->entity->link($this->t('Edit'));
+    // TODO: Drupal Rector Notice: Please delete the following comment after you've made any necessary changes.
+    // Please confirm that `$entity` is an instance of `\Drupal\Core\Entity\EntityInterface`. Only the method name and not the class name was checked for this replacement, so this may be a false positive.
+    $edit_link = $this->entity->toLink($this->t('Edit'))->toString();
     switch ($status) {
       case SAVED_NEW:
-        drupal_set_message($this->t('Created new profile %label.', ['%label' => $linkit_profile->label()]));
+        $this->messenger()->addStatus($this->t('Created new profile %label.', ['%label' => $linkit_profile->label()]));
         $this->logger('linkit')->notice('Created new profile %label.', ['%label' => $linkit_profile->label(), 'link' => $edit_link]);
         $form_state->setRedirect('linkit.matchers', [
           'linkit_profile' => $linkit_profile->id(),
@@ -80,9 +82,11 @@ abstract class FormBase extends EntityForm {
         break;
 
       case SAVED_UPDATED:
-        drupal_set_message($this->t('Updated profile %label.', ['%label' => $linkit_profile->label()]));
+        $this->messenger()->addStatus($this->t('Updated profile %label.', ['%label' => $linkit_profile->label()]));
         $this->logger('linkit')->notice('Updated profile %label.', ['%label' => $linkit_profile->label(), 'link' => $edit_link]);
-        $form_state->setRedirectUrl($linkit_profile->urlInfo('edit-form'));
+        // TODO: Drupal Rector Notice: Please delete the following comment after you've made any necessary changes.
+        // Please confirm that `$linkit_profile` is an instance of `Drupal\Core\Entity\EntityInterface`. Only the method name and not the class name was checked for this replacement, so this may be a false positive.
+        $form_state->setRedirectUrl($linkit_profile->toUrl('edit-form'));
         break;
     }
   }
diff --git a/src/Tests/LinkitTestBase.php b/src/Tests/LinkitTestBase.php
index 196dece..d5e704c 100644
--- a/src/Tests/LinkitTestBase.php
+++ b/src/Tests/LinkitTestBase.php
@@ -70,7 +70,7 @@ abstract class LinkitTestBase extends WebTestBase {
   protected function createProfile(array $settings = []) {
     // Populate defaults array.
     $settings += [
-      'id' => Unicode::strtolower($this->randomMachineName()),
+      'id' => mb_strtolower($this->randomMachineName()),
       'label' => $this->randomMachineName(),
     ];
 
diff --git a/src/Tests/Matchers/TermMatcherTest.php b/src/Tests/Matchers/TermMatcherTest.php
index d28a484..05392de 100644
--- a/src/Tests/Matchers/TermMatcherTest.php
+++ b/src/Tests/Matchers/TermMatcherTest.php
@@ -47,7 +47,7 @@ class TermMatcherTest extends LinkitTestBase {
     $vocabulary = $vocabularyStorage->create([
       'name' => $name,
       'description' => $name,
-      'vid' => Unicode::strtolower($name),
+      'vid' => mb_strtolower($name),
       'langcode' => LanguageInterface::LANGCODE_NOT_SPECIFIED,
     ]);
     $vocabulary->save();
diff --git a/src/Tests/ProfileCrudTest.php b/src/Tests/ProfileCrudTest.php
index 93af4e9..8892361 100644
--- a/src/Tests/ProfileCrudTest.php
+++ b/src/Tests/ProfileCrudTest.php
@@ -66,8 +66,8 @@ class ProfileCrudTest extends LinkitTestBase {
 
     // Create a profile.
     $edit = [];
-    $edit['label'] = Unicode::strtolower($this->randomMachineName());
-    $edit['id'] = Unicode::strtolower($this->randomMachineName());
+    $edit['label'] = mb_strtolower($this->randomMachineName());
+    $edit['id'] = mb_strtolower($this->randomMachineName());
     $edit['description'] = $this->randomMachineName(16);
     $this->drupalPostForm(NULL, $edit, t('Save and manage matchers'));
 
