/// <summary>
        /// Ensures that <see cref="ActiveViewManager"/> assigned to host object.
        /// </summary>
        /// <param name="d">Host control.</param>
        /// <returns><see cref="ActiveViewManager"/> that belongs to host controls.</returns>
        private static ActiveViewManager EnsureActiveViewManagerAssigned(DependencyObject d)
        {
            var activeViewManager = GetActiveViewManager(d);
            if (activeViewManager == null)
            {
                var regionWrapper = GetObservableRegion(d);
                activeViewManager = new ActiveViewManager(d, regionWrapper);
                SetActiveViewManager(d, activeViewManager);
            }

            return activeViewManager;
        }
 /// <summary>
 /// Sets value to ActiveViewManager property. 
 /// </summary>
 /// <param name="o">Host control.</param>
 /// <param name="value"><see cref="ActiveViewManager"/> that belongs to host controls.</param>
 public static void SetActiveViewManager(DependencyObject o, ActiveViewManager value)
 {
     o.SetValue(ActiveViewManagerProperty, value);
 }