diff --git a/gradually-update/src/lib.rs b/gradually-update/src/lib.rs
index 9391d9dec6d403a5702e1dac8a427c294cc2d941..883dfefc3e4812b0b9b89e78ea990c8fc703c50e 100644
--- a/gradually-update/src/lib.rs
+++ b/gradually-update/src/lib.rs
@@ -7,12 +7,12 @@
 //!
 //! ## Overview
 //!
-//! This module exposes capabilities for scheduling updates to stroage values gradually.
+//! This module exposes capabilities for scheduling updates to storage values gradually.
 //! This is useful to change parameter values gradually to ensure a smooth transition.
 //! It is also possible to cancel an update before it reaches to target value.
 //!
-//! NOTE: Only unsigned integer value up to 128 bits are supported. But structs that
-//! only use an unsigned integer field could works too such as `Permill` and `FixedU128`.
+//! NOTE: Only unsigned integer value up to 128 bits are supported. But a "newtype" pattern struct
+//! that wraps an unsigned integer works too such as `Permill` and `FixedU128`.
 
 #![cfg_attr(not(feature = "std"), no_std)]
 // Disable the following two lints since they originate from an external macro (namely decl_storage)
@@ -35,7 +35,7 @@ type StorageKey = Vec<u8>;
 type StorageValue = Vec<u8>;
 
 /// Gradually update a value stored at `key` to `target_value`,
-/// change `per_block` * `UpdateFrequency` per `UpdateFrequency` blocks.
+/// change `per_block` * `T::UpdateFrequency` per `T::UpdateFrequency` blocks.
 #[derive(Encode, Decode, Clone, Eq, PartialEq, RuntimeDebug)]
 pub struct GraduallyUpdate {
 	/// The storage key of the value to update
@@ -59,7 +59,7 @@ decl_storage! {
 		/// All the on-going updates
 		pub GraduallyUpdates get(fn gradually_updates): Vec<GraduallyUpdate>;
 		/// The last updated block number
-		pub GraduallyUpdateBlockNumber get(fn gradually_update_block_number): T::BlockNumber;
+		pub LastUpdatedAt get(fn last_updated_at): T::BlockNumber;
 	}
 }
 
@@ -68,12 +68,12 @@ decl_event!(
 	pub enum Event<T> where
 	<T as frame_system::Trait>::BlockNumber,
 	{
-		/// Add gradually_update success (key, per_block, target_value)
-		GraduallyUpdate(StorageKey, StorageValue, StorageValue),
-		/// Cancel gradually_update success (key)
-		CancelGraduallyUpdate(StorageKey),
-		/// Update gradually_update success (blocknum, key, target_value)
-		GraduallyUpdateBlockNumber(BlockNumber, StorageKey, StorageValue),
+		/// Gradually update added (key, per_block, target_value)
+		GraduallyUpdateAdded(StorageKey, StorageValue, StorageValue),
+		/// Gradually update cancelled (key)
+		GraduallyUpdateCancelled(StorageKey),
+		/// Gradually update applied (block_number, key, target_value)
+		Updated(BlockNumber, StorageKey, StorageValue),
 	}
 );
 
@@ -87,7 +87,7 @@ decl_error! {
 		/// Another update is already been scheduled for this key.
 		GraduallyUpdateHasExisted,
 		/// No update exists to cancel.
-		CancelGradullyUpdateNotExisted,
+		GraduallyUpdateNotFound,
 	}
 }
 
@@ -120,7 +120,7 @@ decl_module! {
 				Ok(())
 			})?;
 
-			Self::deposit_event(RawEvent::GraduallyUpdate(update.key, update.per_block, update.target_value));
+			Self::deposit_event(RawEvent::GraduallyUpdateAdded(update.key, update.per_block, update.target_value));
 		}
 
 		/// Cancel gradually_update to adjust numeric parameter.
@@ -132,12 +132,12 @@ decl_module! {
 				let old_len = gradually_updates.len();
 				gradually_updates.retain(|item| item.key != key);
 
-				ensure!(gradually_updates.len() != old_len, Error::<T>::CancelGradullyUpdateNotExisted);
+				ensure!(gradually_updates.len() != old_len, Error::<T>::GraduallyUpdateNotFound);
 
 				Ok(())
 			})?;
 
-			Self::deposit_event(RawEvent::CancelGraduallyUpdate(key));
+			Self::deposit_event(RawEvent::GraduallyUpdateCancelled(key));
 		}
 
 		/// Update gradually_update to adjust numeric parameter.
@@ -149,7 +149,7 @@ decl_module! {
 
 impl<T: Trait> Module<T> {
 	fn _on_finalize(now: T::BlockNumber) {
-		if now < GraduallyUpdateBlockNumber::<T>::get() + T::UpdateFrequency::get() {
+		if now < Self::last_updated_at() + T::UpdateFrequency::get() {
 			return;
 		}
 
@@ -184,7 +184,7 @@ impl<T: Trait> Module<T> {
 
 			storage::unhashed::put(&update.key, &value);
 
-			Self::deposit_event(RawEvent::GraduallyUpdateBlockNumber(now, update.key.clone(), value));
+			Self::deposit_event(RawEvent::Updated(now, update.key.clone(), value));
 
 			keep
 		});
@@ -194,7 +194,7 @@ impl<T: Trait> Module<T> {
 			GraduallyUpdates::put(gradually_updates);
 		}
 
-		GraduallyUpdateBlockNumber::<T>::put(now);
+		LastUpdatedAt::<T>::put(now);
 	}
 
 	#[allow(clippy::ptr_arg)]
diff --git a/gradually-update/src/tests.rs b/gradually-update/src/tests.rs
index ea721d1ddb027cba608d63756ee69e1b0d9b2e58..7717934873d97f5d5206feb0de6bf4e6d48d4472 100644
--- a/gradually-update/src/tests.rs
+++ b/gradually-update/src/tests.rs
@@ -27,7 +27,7 @@ fn gradually_update_should_work() {
 		};
 		assert_ok!(GraduallyUpdateModule::gradually_update(Origin::root(), update.clone()));
 
-		let gradually_update_event = TestEvent::gradually_update(RawEvent::GraduallyUpdate(
+		let gradually_update_event = TestEvent::gradually_update(RawEvent::GraduallyUpdateAdded(
 			update.key,
 			update.per_block,
 			update.target_value,
@@ -88,7 +88,7 @@ fn cancel_gradually_update_should_work() {
 			per_block: vec![1],
 		};
 		assert_ok!(GraduallyUpdateModule::gradually_update(Origin::root(), update.clone()));
-		let gradually_update_event = TestEvent::gradually_update(RawEvent::GraduallyUpdate(
+		let gradually_update_event = TestEvent::gradually_update(RawEvent::GraduallyUpdateAdded(
 			update.key.clone(),
 			update.per_block,
 			update.target_value,
@@ -101,7 +101,7 @@ fn cancel_gradually_update_should_work() {
 			Origin::root(),
 			update.key.clone()
 		));
-		let cancel_gradually_update_event = TestEvent::gradually_update(RawEvent::CancelGraduallyUpdate(update.key));
+		let cancel_gradually_update_event = TestEvent::gradually_update(RawEvent::GraduallyUpdateCancelled(update.key));
 		assert!(System::events()
 			.iter()
 			.any(|record| record.event == cancel_gradually_update_event));
@@ -118,7 +118,7 @@ fn cancel_gradually_update_should_fail() {
 		};
 		assert_noop!(
 			GraduallyUpdateModule::cancel_gradually_update(Origin::root(), update.key.clone()),
-			Error::<Runtime>::CancelGradullyUpdateNotExisted
+			Error::<Runtime>::GraduallyUpdateNotFound
 		);
 
 		assert_ok!(GraduallyUpdateModule::gradually_update(Origin::root(), update.clone()));
@@ -146,7 +146,7 @@ fn add_on_finalize_should_work() {
 		GraduallyUpdateModule::on_finalize(10);
 		assert_eq!(storage_get(&update.key), vec![10]);
 		let gradually_update_blocknumber_event =
-			TestEvent::gradually_update(RawEvent::GraduallyUpdateBlockNumber(10, update.key.clone(), vec![10]));
+			TestEvent::gradually_update(RawEvent::Updated(10, update.key.clone(), vec![10]));
 		assert!(System::events()
 			.iter()
 			.any(|record| record.event == gradually_update_blocknumber_event));
@@ -159,7 +159,7 @@ fn add_on_finalize_should_work() {
 		GraduallyUpdateModule::on_finalize(20);
 		assert_eq!(storage_get(&update.key), vec![20]);
 		let gradually_update_blocknumber_event =
-			TestEvent::gradually_update(RawEvent::GraduallyUpdateBlockNumber(20, update.key.clone(), vec![20]));
+			TestEvent::gradually_update(RawEvent::Updated(20, update.key.clone(), vec![20]));
 		assert!(System::events()
 			.iter()
 			.any(|record| record.event == gradually_update_blocknumber_event));
@@ -168,7 +168,7 @@ fn add_on_finalize_should_work() {
 		GraduallyUpdateModule::on_finalize(40);
 		assert_eq!(storage_get(&update.key), vec![30]);
 		let gradually_update_blocknumber_event =
-			TestEvent::gradually_update(RawEvent::GraduallyUpdateBlockNumber(40, update.key.clone(), vec![30]));
+			TestEvent::gradually_update(RawEvent::Updated(40, update.key.clone(), vec![30]));
 		assert!(System::events()
 			.iter()
 			.any(|record| record.event == gradually_update_blocknumber_event));
@@ -193,7 +193,7 @@ fn sub_on_finalize_should_work() {
 		GraduallyUpdateModule::on_finalize(10);
 		assert_eq!(storage_get(&update.key), vec![20]);
 		let gradually_update_blocknumber_event =
-			TestEvent::gradually_update(RawEvent::GraduallyUpdateBlockNumber(10, update.key.clone(), vec![20]));
+			TestEvent::gradually_update(RawEvent::Updated(10, update.key.clone(), vec![20]));
 		assert!(System::events()
 			.iter()
 			.any(|record| record.event == gradually_update_blocknumber_event));
@@ -206,7 +206,7 @@ fn sub_on_finalize_should_work() {
 		GraduallyUpdateModule::on_finalize(20);
 		assert_eq!(storage_get(&update.key), vec![10]);
 		let gradually_update_blocknumber_event =
-			TestEvent::gradually_update(RawEvent::GraduallyUpdateBlockNumber(20, update.key.clone(), vec![10]));
+			TestEvent::gradually_update(RawEvent::Updated(20, update.key.clone(), vec![10]));
 		assert!(System::events()
 			.iter()
 			.any(|record| record.event == gradually_update_blocknumber_event));
@@ -215,7 +215,7 @@ fn sub_on_finalize_should_work() {
 		GraduallyUpdateModule::on_finalize(40);
 		assert_eq!(storage_get(&update.key), vec![5]);
 		let gradually_update_blocknumber_event =
-			TestEvent::gradually_update(RawEvent::GraduallyUpdateBlockNumber(40, update.key.clone(), vec![5]));
+			TestEvent::gradually_update(RawEvent::Updated(40, update.key.clone(), vec![5]));
 		assert!(System::events()
 			.iter()
 			.any(|record| record.event == gradually_update_blocknumber_event));