/// <summary>
        ///     Initializes a new instance of the <see cref="MemoryMonitorModule" /> class.
        /// </summary>
        /// <param name="container"> The container. </param>
        /// <param name="factory"> The metric provider factory. </param>
        internal DiskMonitorModule([NotNull] IObjectContainer container,
                                 [NotNull] IMetricProviderFactory factory)
            : base(container, factory)
        {
            _diskReadCounter = MetricProvider.Build(DiskCategoryName, DiskReadCounterName, TotalInstanceName);
            _diskWriteCounter = MetricProvider.Build(DiskCategoryName, DiskWriteCounterName, TotalInstanceName);

            _diskReadWidget = CreatePercentWidget(BuildWidgetParameters(@"progDiskTotalRead"));
            _diskReadWidget.Text = Resources.DiskReadLabel;

            _diskWriteWidget = CreatePercentWidget(BuildWidgetParameters(@"progDiskTotalWrite"));
            _diskWriteWidget.Text = Resources.DiskWriteLabel;
        }
        /// <summary>
        ///     Initializes a new instance of the <see cref="MemoryMonitorModule" /> class.
        /// </summary>
        /// <param name="container"> The container. </param>
        /// <param name="factory"> The metric provider factory. </param>
        internal MemoryMonitorModule([NotNull] IObjectContainer container,
                                   [NotNull] IMetricProviderFactory factory)
            : base(container, factory)
        {
            _usedBytesCounter = MetricProvider.Build(MemoryCategoryName,
                                                        MemoryUtilizationBytesCounterName);

            _widget = new AlfredProgressBarWidget(BuildWidgetParameters(@"progMemoryUsed"))
            {
                Minimum = 0,
                Maximum = 100,
                Text = Resources.MemoryMonitorModule_LabelName,
                ValueFormatString = "{0:F2} %"
            };
        }