diff --git a/src/Entity/ShareMessage.php b/src/Entity/ShareMessage.php
index f3d9ed2..699ce9b 100644
--- a/src/Entity/ShareMessage.php
+++ b/src/Entity/ShareMessage.php
@@ -8,6 +8,7 @@ namespace Drupal\sharemessage\Entity;
 
 use Drupal\Core\Config\Entity\ConfigEntityBase;
 use Drupal\Core\Url;
+use Drupal\sharemessage\ShareMessageInterface;
 
 /**
  * Entity class for the Share Message entity.
@@ -48,7 +49,7 @@ use Drupal\Core\Url;
  *   }
  * )
  */
-class ShareMessage extends ConfigEntityBase {
+class ShareMessage extends ConfigEntityBase implements ShareMessageInterface {
 
   /**
    * The machine name of this sharemessage.
@@ -159,14 +160,7 @@ class ShareMessage extends ConfigEntityBase {
   }
 
   /**
-   * Returns a context for tokenizing.
-   *
-   * @return array
-   *   An array containing the following elements:
-   *     - sharemessage: This entity.
-   *     - node: The node target for the current request, if any.
-   *   The array is altered by modules implementing
-   *   hook_sharemessage_token_context().
+   * {@inheritdoc}
    */
   public function getContext() {
     $context = array('sharemessage' => $this);
@@ -182,7 +176,7 @@ class ShareMessage extends ConfigEntityBase {
   }
 
   /**
-   * Returns Open Graph meta tags for <head>.
+   * {@inheritdoc}
    */
   public function buildOGTags($context) {
     $tags = array();
@@ -294,17 +288,7 @@ class ShareMessage extends ConfigEntityBase {
   }
 
   /**
-   * Tokenizes a field, if it is set.
-   *
-   * @param string $property_value
-   *   A field value.
-   * @param array $context
-   *   A context array for Token::replace().
-   * @param string $default
-   *   (optional) Default value if field value is not set.
-   *
-   * @return string
-   *   If existent, the field value with tokens replace, the default otherwise.
+   * {@inheritdoc}
    */
   public function getTokenizedField($property_value, $context, $default = '') {
     if ($property_value) {
@@ -314,13 +298,7 @@ class ShareMessage extends ConfigEntityBase {
   }
 
   /**
-   * Getter for the share URL.
-   *
-   * @param array $context
-   *   The context for the token replacements.
-   *
-   * @return string
-   *   The URL for this share message.
+   * {@inheritdoc}
    */
   public function getUrl($context) {
     $options = array('absolute' => TRUE);
diff --git a/src/ShareMessageInterface.php b/src/ShareMessageInterface.php
new file mode 100644
index 0000000..dc8513c
--- /dev/null
+++ b/src/ShareMessageInterface.php
@@ -0,0 +1,80 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\sharemessage\ShareMessageInterface.
+ */
+
+namespace Drupal\sharemessage;
+
+use Drupal\Core\Config\Entity\ConfigEntityInterface;
+
+/**
+ * Define interface for ShareMessage entity.
+ */
+interface ShareMessageInterface extends ConfigEntityInterface {
+
+  /**
+   * Set sharemessage label.
+   */
+  public function setLabel($label);
+
+  /**
+   * Set sharemessage title.
+   */
+  public function setTitle($title);
+
+  /**
+   * Get sharemessage status.
+   */
+  public function getStatus();
+
+  /**
+   * Set sharemessage status.
+   */
+  public function setStatus($status);
+
+  /**
+   * Returns a context for tokenizing.
+   *
+   * @return array
+   *   An array containing the following elements:
+   *     - sharemessage: This entity.
+   *     - node: The node target for the current request, if any.
+   *   The array is altered by modules implementing
+   *   hook_sharemessage_token_context().
+   */
+  public function getContext();
+
+  /**
+   * Returns Open Graph meta tags for <head>.
+   */
+  public function buildOGTags($context);
+
+  /**
+   * Tokenizes a field, if it is set.
+   *
+   * @param string $property_value
+   *   A field value.
+   * @param array $context
+   *   A context array for Token::replace().
+   * @param string $default
+   *   (optional) Default value if field value is not set.
+   *
+   * @return string
+   *   If existent, the field value with tokens replace, the default otherwise.
+   */
+  public function getTokenizedField($property_value, $context, $default = '');
+
+  /**
+   * Getter for the share URL.
+   *
+   * @param array $context
+   *   The context for the token replacements.
+   *
+   * @return string
+   *   The URL for this share message.
+   */
+  public function getUrl($context);
+
+}
