/// <summary>
        /// Return the installation status, this is based on all hive providers
        /// </summary>
        /// <returns></returns>
        public IEnumerable <InstallStatus> GetInstallStatus()
        {
            //TODO: Use this cache mechanism! But in order to do so , we need triggers working from Hive providers, currently they are not setup

            //return _installStatuses ?? (_installStatuses = Hive.GetAllReadWriteProviders()
            //                                                   .Select(x => x.ProviderContext.Bootstrapper.GetInstallStatus())
            //                                                   .ToArray());

            var allReadWriteProviders = Hive.GetAllReadWriteProviders();
            var allBootstrappers      =
                allReadWriteProviders.Select(x => new { Key = x.ProviderMetadata.Alias, x.Bootstrapper }).
                ToArray();

            var installStatuses = allBootstrappers
                                  .Select(x => x.Bootstrapper.GetInstallStatus())
                                  .ToArray();

            return(installStatuses);
        }