How can I configure a new IDataBus implementation which has a dependency which needs to be injected in NServiceBus?
===

I want to replace the default `IDataBus` implementation (which writes to the filesystem) with one which writes to a db (so it can run on AWS).  To this end I have a config extension:

    public static class ConfigureSqlServerDataBus
    {
        public static Configure SqlServerDataBus(this Configure config)
        {
            var dataBus = new SqlServerDataBus();
            config.Configurer.RegisterSingleton<IDataBus>(dataBus);
            return config;
        }
    }

to allow me to configure the bus.  But obviously my `SqlServerDataBus` has a dependency on something which tells it where to write (An `IRepository` implementation in this case).

Usually I would ask for the dependency through the constructor, but as the config of the service bus is done through the `IWantCustomInitialization` which will use `Activator` to create the instance I can't.  My understanding is that NServiceBus will use property injection to satisfy the dependencies but it doesn't seem to do this.  I have a couple of calls like this after my configuration is done:

    Configure
 	.With()
	.DefineEndpointName("SomeName")
	.DefaultBuilder()
	.DBSubcriptionStorage()
	.XmlSerializer()
	.SqlServerDataBus()
	.MsmqTransport()
		.IsTransactional(true)
	.UnicastBus()
	.LoadMessageHandlers()
	.CreateBus()
	.Start(() => Configure.Instance.ForInstallationOn<NServiceBus.Installation.Environments.Windows>().Install());


	Configure.Instance.Configurer.ConfigureComponent<RepositoryImplementation>(ComponentCallModelEnum.None);
	Configure.Instance.Configurer.ConfigureComponent<SqlServerDataBus>(ComponentCallModelEnum.None);

but my setters for the `SqlServerDataBus` are never called, although the Put method is.

Can someone point out what I'm doing wrong?