/// <summary>
 /// Set the registered item's contrainer resolution scope to <see cref="DreamContainerScope.Service"/>
 /// </summary>
 /// <param name="registrar">Registrar instance.</param>
 /// <returns>The modified registrar instance.</returns>
 public static IConcreteRegistrar ServiceScoped(this IConcreteRegistrar registrar)
 {
     return(registrar.InScope(DreamContainerScope.Service));
 }
 /// <summary>
 /// Set the registered item's contrainer resolution scope to <see cref="DreamContainerScope.Request"/>
 /// </summary>
 /// <param name="registrar">Registrar instance.</param>
 /// <returns>The modified registrar instance.</returns>
 public static IConcreteRegistrar RequestScoped(this IConcreteRegistrar registrar)
 {
     return(registrar.InScope(DreamContainerScope.Request));
 }
        //--- Extension Methods ---

        /// <summary>
        /// Set the registered item's container resolution scope.
        /// </summary>
        /// <param name="registrar">Registrar instance.</param>
        /// <param name="scope">Container Resolution scope.</param>
        /// <returns>The modified registrar instance.</returns>
        public static IConcreteRegistrar InScope(this IConcreteRegistrar registrar, DreamContainerScope scope)
        {
            return(scope == DreamContainerScope.Factory ? registrar.WithScope(InstanceScope.Factory) : registrar.InContext(scope));
        }