diff --git a/inc/class-wp-revisions-control.php b/inc/class-wp-revisions-control.php
index eef3f5e497e66728d78262d786df69b0d83cdbb6..f9a45977370ff80ef66b55db49e5e0c3b64fdf60 100644
--- a/inc/class-wp-revisions-control.php
+++ b/inc/class-wp-revisions-control.php
@@ -10,22 +10,65 @@
  */
 class WP_Revisions_Control {
 	/**
-	 * Singleton
+	 * Singleton.
+	 *
+	 * @var static
 	 */
-	private static $__instance = null;
+	private static $__instance;
 
 	/**
-	 * Class variables
+	 * Filter priority.
+	 *
+	 * @see $this->filter_priority()
+	 *
+	 * @var int
+	 */
+	private static $priority = null;
+
+	/**
+	 * Default filter priority.
+	 *
+	 * @var int
 	 */
-	private static $priority = null; // use $this->plugin_priority()
 	private $priority_default = 50;
 
-	private static $post_types = array(); // use $this->get_post_types()
-	private static $settings = array(); // use $this->get_settings()
+	/**
+	 * Supported post types.
+	 *
+	 * @see $this->get_post_types()
+	 *
+	 * @var array
+	 */
+	private static $post_types = array();
+
+	/**
+	 * Plugin settings.
+	 *
+	 * @see $this->get_settings()
+	 *
+	 * @var array
+	 */
+	private static $settings = array();
 
+	/**
+	 * WordPress options page to display settings on.
+	 *
+	 * @var string
+	 */
 	private $settings_page = 'writing';
+
+	/**
+	 * Name of custom settings sections.
+	 *
+	 * @var string
+	 */
 	private $settings_section = 'wp_revisions_control';
 
+	/**
+	 * Meta key holding post's revisions limit.
+	 *
+	 * @var string
+	 */
 	private $meta_key_limit = '_wp_rev_ctl_limit';
 
 	/**
@@ -34,26 +77,22 @@ class WP_Revisions_Control {
 	private function __construct() {}
 
 	/**
-	 * Singleton implementation
+	 * Singleton implementation.
 	 *
-	 * @uses self::setup
-	 * @return object
+	 * @return static
 	 */
 	public static function get_instance() {
-		if ( ! is_a( self::$__instance, __CLASS__ ) ) {
-			self::$__instance = new self;
+		if ( ! is_a( static::$__instance, __CLASS__ ) ) {
+			static::$__instance = new self();
 
-			self::$__instance->setup();
+			static::$__instance->setup();
 		}
 
-		return self::$__instance;
+		return static::$__instance;
 	}
 
 	/**
 	 * Register actions and filters at `init` so others can interact, if desired.
-	 *
-	 * @uses add_action
-	 * @return null
 	 */
 	private function setup() {
 		add_action( 'plugins_loaded', array( $this, 'action_plugins_loaded' ) );
@@ -61,24 +100,14 @@ class WP_Revisions_Control {
 	}
 
 	/**
-	 * Load plugin translations
-	 *
-	 * @uses load_plugin_textdomain
-	 * @uses plugin_basename
-	 * @action plugins_loaded
-	 * @return null
+	 * Load plugin translations.
 	 */
 	public function action_plugins_loaded() {
 		load_plugin_textdomain( 'wp_revisions_control', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
 	}
 
 	/**
-	 * Register actions and filters
-	 *
-	 * @uses add_action
-	 * @uses add_filter
-	 * @uses this::plugin_priority
-	 * @return null
+	 * Register actions and filters.
 	 */
 	public function action_init() {
 		add_action( 'admin_init', array( $this, 'action_admin_init' ) );
@@ -87,20 +116,12 @@ class WP_Revisions_Control {
 	}
 
 	/**
-	 * Register plugin's admin-specific elements
+	 * Register plugin's admin-specific elements.
 	 *
 	 * Plugin title is intentionally not translatable.
-	 *
-	 * @uses register_setting
-	 * @uses add_settings_section
-	 * @uses __
-	 * @uses this::get_post_types
-	 * @uses add_settings_field
-	 * @action admin_init
-	 * @return null
 	 */
 	public function action_admin_init() {
-		// Plugin setting section
+		// Plugin setting section.
 		register_setting( $this->settings_page, $this->settings_section, array( $this, 'sanitize_options' ) );
 
 		add_settings_section( $this->settings_section, 'WP Revisions Control', array( $this, 'settings_section_intro' ), $this->settings_page );
@@ -109,23 +130,19 @@ class WP_Revisions_Control {
 			add_settings_field( $this->settings_section . '-' . $post_type, $name, array( $this, 'field_post_type' ), $this->settings_page, $this->settings_section, array( 'post_type' => $post_type ) );
 		}
 
-		// Post-level functionality
+		// Post-level functionality.
 		add_action( 'add_meta_boxes', array( $this, 'action_add_meta_boxes' ), 10, 2 );
 		add_action( 'wp_ajax_' . $this->settings_section . '_purge', array( $this, 'ajax_purge' ) );
 		add_action( 'save_post', array( $this, 'action_save_post' ) );
 	}
 
 	/**
-	 ** PLUGIN SETTINGS SECTION
-	 ** FOUND UNDER SETTINGS > WRITING
-	 **/
+	 * PLUGIN SETTINGS SECTION
+	 * FOUND UNDER SETTINGS > WRITING
+	 */
 
 	/**
-	 * Display assistive text in settings section
-	 *
-	 * @uses _e
-	 * @uses this::plugin_priority
-	 * @return string
+	 * Display assistive text in settings section.
 	 */
 	public function settings_section_intro() {
 		?>
@@ -141,12 +158,9 @@ class WP_Revisions_Control {
 	}
 
 	/**
-	 * Render field for each post type
+	 * Render field for each post type.
 	 *
-	 * @param array $args
-	 * @uses this::get_revisions_to_keep
-	 * @uses esc_attr
-	 * @return string
+	 * @param array $args Field arguments.
 	 */
 	public function field_post_type( $args ) {
 		$revisions_to_keep = $this->get_revisions_to_keep( $args['post_type'], true );
@@ -156,9 +170,9 @@ class WP_Revisions_Control {
 	}
 
 	/**
-	 * Sanitize plugin settings
+	 * Sanitize plugin settings.
 	 *
-	 * @param array $options
+	 * @param array $options Unsanitized settings.
 	 * @return array
 	 */
 	public function sanitize_options( $options ) {
@@ -166,14 +180,18 @@ class WP_Revisions_Control {
 
 		if ( is_array( $options ) ) {
 			foreach ( $options as $post_type => $to_keep ) {
-				if ( 0 === strlen( $to_keep ) )
+				$type_length = strlen( $to_keep );
+
+				if ( 0 === $type_length ) {
 					$to_keep = -1;
-				else
-					$to_keep = intval( $to_keep );
+				} else {
+					$to_keep = (int) $to_keep;
+				}
 
-				// Lowest possible value is -1, used to indicate infinite revisions are stored
-				if ( -1 > $to_keep )
+				// Lowest possible value is -1, used to indicate infinite revisions are stored.
+				if ( -1 > $to_keep ) {
 					$to_keep = -1;
+				}
 
 				$options_sanitized[ $post_type ] = $to_keep;
 			}
@@ -183,8 +201,8 @@ class WP_Revisions_Control {
 	}
 
 	/**
-	 ** REVISIONS QUANTITY OVERRIDES
-	 **/
+	 * REVISIONS QUANTITY OVERRIDES.
+	 */
 
 	/**
 	 * Allow others to change the priority this plugin's functionality runs at
@@ -203,15 +221,13 @@ class WP_Revisions_Control {
 	}
 
 	/**
-	 * Override number of revisions to keep using plugin's settings
+	 * Override number of revisions to keep using plugin's settings.
 	 *
-	 * Can either be post-specific or universal
+	 * Can either be post-specific or universal.
 	 *
-	 * @uses get_post_meta
-	 * @uses get_post_type
-	 * @uses this::get_settings
-	 * @filter wp_revisions_to_keep
-	 * @return mixed
+	 * @param int     $qty  Number of revisions to keep.
+	 * @param WP_Post $post Post object.
+	 * @return int
 	 */
 	public function filter_wp_revisions_to_keep( $qty, $post ) {
 		$post_limit = get_post_meta( $post->ID, $this->meta_key_limit, true );
@@ -220,44 +236,33 @@ class WP_Revisions_Control {
 			$qty = $post_limit;
 		} else {
 			$post_type = get_post_type( $post ) ? get_post_type( $post ) : $post->post_type;
-			$settings = $this->get_settings();
+			$settings  = $this->get_settings();
 
-			if ( array_key_exists( $post_type, $settings ) )
+			if ( array_key_exists( $post_type, $settings ) ) {
 				$qty = $settings[ $post_type ];
+			}
 		}
 
 		return $qty;
 	}
 
 	/**
-	 ** POST-LEVEL FUNCTIONALITY
-	 **/
+	 * POST-LEVEL FUNCTIONALITY.
+	 */
 
 	/**
-	 * Override Core's revisions metabox
+	 * Override Core's revisions metabox.
 	 *
-	 * @param string $post_type
-	 * @param object $post
-	 * @uses post_type_supports
-	 * @uses get_post_status
-	 * @uses wp_get_post_revisions
-	 * @uses remove_meta_box
-	 * @uses add_meta_box
-	 * @uses wp_enqueue_script
-	 * @uses plugins_url
-	 * @uses wp_localize_script
-	 * @uses wpautop
-	 * @uses add_action
-	 * @action add_meta_boxes
-	 * @return null
+	 * @param string $post_type Post type.
+	 * @param object $post      Post object.
 	 */
 	public function action_add_meta_boxes( $post_type, $post ) {
 		if ( post_type_supports( $post_type, 'revisions' ) && 'auto-draft' != get_post_status() && count( wp_get_post_revisions( $post ) ) > 1 ) {
-			// Replace the metabox
+			// Replace the metabox.
 			remove_meta_box( 'revisionsdiv', null, 'normal' );
 			add_meta_box( 'revisionsdiv-wp-rev-ctl', __('Revisions', 'wp_revisions_control'), array( $this, 'revisions_meta_box' ), null, 'normal', 'core' );
 
-			// A bit of JS for us
+			// A bit of JS for us.
 			$handle = 'wp-revisions-control-post';
 			wp_enqueue_script( $handle, plugins_url( 'js/post.js', __FILE__ ), array( 'jquery' ), '20131205', true );
 			wp_localize_script( $handle, $this->settings_section, array(
@@ -270,7 +275,7 @@ class WP_Revisions_Control {
 				'error'           => __( 'An error occurred. Please refresh the page and try again.', 'wp_revisions_control' )
 			) );
 
-			// Add some styling to our metabox additions
+			// Add some styling to our metabox additions.
 			add_action( 'admin_head', array( $this, 'action_admin_head' ), 999 );
 		}
 	}
@@ -278,13 +283,7 @@ class WP_Revisions_Control {
 	/**
 	 * Render Revisions metabox with plugin's additions
 	 *
-	 * @uses post_revisions_meta_box
-	 * @uses the_ID
-	 * @uses esc_attr
-	 * @uses wp_create_nonce
-	 * @uses this::get_post_revisions_to_keep
-	 * @uses wp_nonce_field
-	 * @return string
+	 * @param WP_Post $post Post object.
 	 */
 	public function revisions_meta_box( $post ) {
 		post_revisions_meta_box( $post );
@@ -305,14 +304,7 @@ class WP_Revisions_Control {
 	}
 
 	/**
-	 * Process a post-specific request to purge revisions
-	 *
-	 * @uses __
-	 * @uses check_ajax_referer
-	 * @uses current_user_can
-	 * @uses wp_get_post_revisions
-	 * @uses number_format_i18n
-	 * @return string
+	 * Process a post-specific request to purge revisions.
 	 */
 	public function ajax_purge() {
 		$post_id = isset( $_REQUEST['post_id'] ) ? (int) $_REQUEST['post_id'] : false;
@@ -348,12 +340,9 @@ class WP_Revisions_Control {
 	}
 
 	/**
-	 * Sanitize and store post-specifiy revisions quantity
+	 * Sanitize and store post-specifiy revisions quantity.
 	 *
-	 * @uses wp_verify_nonce
-	 * @uses update_post_meta
-	 * @action save_post
-	 * @return null
+	 * @param int $post_id Post ID.
 	 */
 	public function action_save_post( $post_id ) {
 		if ( isset( $_POST[ $this->settings_section . '_limit_nonce' ] ) && wp_verify_nonce( $_POST[ $this->settings_section . '_limit_nonce' ], $this->settings_section . '_limit' ) && isset( $_POST[ $this->settings_section . '_qty' ] ) ) {
@@ -367,11 +356,7 @@ class WP_Revisions_Control {
 	}
 
 	/**
-	 * Add a border between the regular revisions list and this plugin's additions
-	 *
-	 * @uses esc_attr
-	 * @action admin_head
-	 * @return string
+	 * Add a border between the regular revisions list and this plugin's additions.
 	 */
 	public function action_admin_head() {
 	?>
@@ -392,14 +377,12 @@ class WP_Revisions_Control {
 	}
 
 	/**
-	 ** PLUGIN UTILITIES
-	 **/
+	 * PLUGIN UTILITIES.
+	 */
 
 	/**
-	 * Retrieve plugin settings
+	 * Retrieve plugin settings.
 	 *
-	 * @uses this::get_post_types
-	 * @uses get_option
 	 * @return array
 	 */
 	private function get_settings() {
@@ -424,11 +407,8 @@ class WP_Revisions_Control {
 	}
 
 	/**
-	 * Retrieve array of supported post types and their labels
+	 * Retrieve array of supported post types and their labels.
 	 *
-	 * @uses get_post_types
-	 * @uses post_type_supports
-	 * @uses get_post_type_object
 	 * @return array
 	 */
 	private function get_post_types() {
@@ -453,14 +433,14 @@ class WP_Revisions_Control {
 	}
 
 	/**
-	 * Retrieve number of revisions to keep for a given post type
+	 * Retrieve number of revisions to keep for a given post type.
 	 *
-	 * @uses WP_Post
-	 * @uses wp_revisions_to_keep
-	 * @return mixed
+	 * @param string $post_type     Post type.
+	 * @param bool   $blank_for_all Should blank value be used to indicate all are kept.
+	 * @return int|string
 	 */
 	private function get_revisions_to_keep( $post_type, $blank_for_all = false ) {
-		// wp_revisions_to_keep() accepts a post object, not just the post type
+		// wp_revisions_to_keep() accepts a post object, not just the post type.
 		// We construct a new WP_Post object to ensure anything hooked to the wp_revisions_to_keep filter has the same basic data WP provides.
 		$_post = new WP_Post( (object) array( 'post_type' => $post_type ) );
 		$to_keep = wp_revisions_to_keep( $_post );
@@ -472,11 +452,10 @@ class WP_Revisions_Control {
 	}
 
 	/**
-	 * Retrieve number of revisions to keep for a give post
+	 * Retrieve number of revisions to keep for a give post.
 	 *
-	 * @param int $post_id
-	 * @uses get_post_meta
-	 * @return mixed
+	 * @param int $post_id Post ID.
+	 * @return int|string
 	 */
 	private function get_post_revisions_to_keep( $post_id ) {
 		$to_keep = get_post_meta( $post_id, $this->meta_key_limit, true );
@@ -489,4 +468,5 @@ class WP_Revisions_Control {
 		return $to_keep;
 	}
 }
+
 WP_Revisions_Control::get_instance();