diff --git a/physical.cpp b/physical.cpp
index ac8bb25..d15cfcd 100644
--- a/physical.cpp
+++ b/physical.cpp
@@ -34,16 +34,13 @@
     {
         // LED is blinking. Get the on and off delays and derive percent duty
         auto delayOn = led.getDelayOn();
-        periodMs = delayOn + led.getDelayOff();
+        uint16_t periodMs = delayOn + led.getDelayOff();
         auto percentScale = periodMs / 100;
         this->dutyOn(delayOn / percentScale);
+        this->period(periodMs);
     }
     else
     {
-        // TODO: Periodicity is hardcoded for now. This will be changed to
-        // this->period() when configurable periodicity is implemented.
-        periodMs = 1000;
-
         // Cache current LED state
         auto brightness = led.getBrightness();
         if (brightness == assert)
@@ -102,12 +99,22 @@
 {
     auto dutyOn = this->dutyOn();
 
+    /*
+      The configuration of the trigger type must precede the configuration of
+      the trigger type properties. From the kernel documentation:
+      "You can change triggers in a similar manner to the way an IO scheduler
+      is chosen (via /sys/class/leds/<device>/trigger). Trigger specific
+      parameters can appear in /sys/class/leds/<device> once a given trigger is
+      selected."
+      Refer:
+      https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/leds/leds-class.txt?h=v5.2#n26
+    */
+    led.setTrigger("timer");
     // Convert percent duty to milliseconds for sysfs interface
-    auto factor = periodMs / 100;
+    auto factor = this->period() / 100.0;
     led.setDelayOn(dutyOn * factor);
     led.setDelayOff((100 - dutyOn) * factor);
 
-    led.setTrigger("timer");
     return;
 }
 
diff --git a/physical.hpp b/physical.hpp
index 3801c3a..9be62fe 100644
--- a/physical.hpp
+++ b/physical.hpp
@@ -73,11 +73,6 @@
     /** @brief The value that will assert the LED */
     unsigned long assert;
 
-    /** @brief The period that the LED will operate on, in milliseconds
-     *  Will be removed when periodicity is put into interface
-     */
-    uint32_t periodMs;
-
     /** @brief reads sysfs and then setsup the parameteres accordingly
      *
      *  @return None
