Ninject dispose order with InRequestScope
===

Just started playing with ninject - and I can't get past this issue. Consider this setup:

    private static void RegisterServices(IKernel kernel)
    {
       kernel.Bind<IDataTransaction>().To<DataTransaction>().InRequestScope();

       kernel.Bind<IdbAnalytics>().To<dbAnalytics>().InRequestScope();
       kernel.Bind<IdbMembership>().To<dbMembership>().InRequestScope();

       kernel.Bind<IAnalyticsWork>().To<AnalyticsWork>().InRequestScope();
       kernel.Bind<IMembershipWork>().To<MembershipWork>().InRequestScope();

       kernel.Bind<ILog>().To<Log>().InRequestScope();
       ...
    }

With Log being injected into the above classes:

    public class AnalyticsWork : IAnalyticsWork, IDisposable
    {
        private readonly IdbAnalytics _Context;
        private readonly ILog _Log;

        public AnalyticsWork(IdbAnalytics Context, ILog Log)
        {            
            _Context = Context;
            _Log = Log;
            _Log.Write(LogEntryType.DEBUG, "Object Created");
        }
        ...
    }

This issue is the Log object gets disposed of ahead of the other objects (AnalyticsWork / MembershipWork). Is there any way to set the order that items should be disposed of? Or is this setup flawed?
