diff --git a/components/address-input.jsx b/components/address-input.jsx
index 392eda25ab85b97fbe8c145575611097fab74e6b..bf72f936ab43153b896c369df78d84975dfed580 100644
--- a/components/address-input.jsx
+++ b/components/address-input.jsx
@@ -54,7 +54,7 @@ export default class AddressInput extends React.Component {
     }
 
     /**
-     * @param event
+     * @param {React.ChangeEvent<HTMLInputElement>} event
      */
     handleChange(event) {
         let state = this.state;
diff --git a/components/sender-address-table.jsx b/components/sender-address-table.jsx
index 81e9cb8350f5e1eae21a21d2b693aa9de8e00ebd..59be9f8fce4255b0ad947e6fb58e4bac6ad913d3 100644
--- a/components/sender-address-table.jsx
+++ b/components/sender-address-table.jsx
@@ -30,7 +30,7 @@ export default class SenderAddressTable extends React.Component {
     }
 
     /**
-     * @param event
+     * @param {MouseEvent} event
      */
     handleClickAdd(event) {
         event.preventDefault();
@@ -51,7 +51,7 @@ export default class SenderAddressTable extends React.Component {
     }
 
     /**
-     * @param event
+     * @param {MouseEvent} event
      */
     handleClickDelete(event) {
         event.preventDefault();
diff --git a/src/SenderAddress.php b/src/SenderAddress.php
index 02e30c0f6e2f6666c020ba1424a6927be55ac4b6..2ca5918d6d6c536c4ccc84233dec9900a717ac2f 100644
--- a/src/SenderAddress.php
+++ b/src/SenderAddress.php
@@ -48,4 +48,20 @@ class SenderAddress extends AbstractSenderAddress {
         return $address;
     }
 
+	/**
+	 * Create addresses from settings.
+	 *
+	 * @param string $sender_address_settings JSON string.
+	 *
+	 * @return SenderAddress[]
+	 */
+	public static function create_sender_addresses_from_settings( $sender_address_settings ) {
+		$sender_addresses = [];
+		foreach ( json_decode( $sender_address_settings, true ) as $box_setting ) {
+			$sender_addresses[] = SenderAddress::create_from_array( $box_setting );
+		}
+
+		return $sender_addresses;
+	}
+
 }
diff --git a/src/SenderAddressFactory.php b/src/SenderAddressFactory.php
deleted file mode 100644
index c4e3e144f53137b0ea868dd446084c58fd98951b..0000000000000000000000000000000000000000
--- a/src/SenderAddressFactory.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-
-
-namespace WpDesk\WooCommerce\ShippingMethod\Fields\SenderAddress;
-
-use WpDesk\WooCommerce\ShippingMethod\SenderAddress;
-
-class SenderAddressFactory {
-
-    /**
-     * Create addresses from settings.
-     *
-     * @param string $sender_address_settings
-     *
-     * @return SenderAddress[]
-     */
-    public static function create_sender_addresses_from_settings( $sender_address_settings ) {
-	    $sender_addresses = [];
-	    foreach ( json_decode( $sender_address_settings, true ) as $box_setting ) {
-		    $sender_addresses[] = SenderAddress::create_from_array( $box_setting );
-	    }
-
-	    return $sender_addresses;
-    }
-
-}
diff --git a/src/ShippingMethodRenderSettingsTrait.php b/src/ShippingMethodRenderSettingsTrait.php
index 35f80af8a41af69dbecd84076876b575cfeccfe9..b6ea3ae6d310f0d3a9e7f9971c95f20418f76192 100644
--- a/src/ShippingMethodRenderSettingsTrait.php
+++ b/src/ShippingMethodRenderSettingsTrait.php
@@ -9,6 +9,7 @@ namespace WpDesk\WooCommerce\ShippingMethod\Fields\SenderAddress;
 
 /**
  * Can render settings html.
+ * For use in shipping method when sender_addresses field is used in shipping method settings.
  */
 trait ShippingMethodRenderSettingsTrait {
 
@@ -19,7 +20,9 @@ trait ShippingMethodRenderSettingsTrait {
 	 * @return string
 	 */
 	public function get_field_key( $key ) {
-		return $this->plugin_id . $this->id . '_' . $key;
+		/** @var \WC_Shipping_Method $shipping_method */
+		$shipping_method = $this;
+		return $shipping_method->plugin_id . $shipping_method->id . '_' . $key;
 	}
 
 	/**
@@ -59,7 +62,9 @@ trait ShippingMethodRenderSettingsTrait {
 	 * @return string
 	 */
 	public function generate_sender_addresses_html( $key, $data ) {
-		$data['value'] = $this->get_option( $key );
+		/** @var \WC_Shipping_Method $shipping_method */
+		$shipping_method = $this;
+		$data['value'] = $shipping_method->get_option( $key );
 		$data = $this->get_field_params( $key, $data );
 		$settings_field = new SettingsField( $data['field_key'] );
 		ob_start();