public NestResult Start(HostedTrinketConfiguration configuration)
        {
            var fileSystemHookEventBus = new FileSystemHookEventBusImpl();
             fileSystemHookEventBus.CreateFilePre += (s, e) => {
            Console.WriteLine("CreateFile: " + e.Arguments.Path + " " + e.Arguments.Access);
             };
             var proxyFactory = new FileHookEventPublisherNativeToBusProxyFactory();
             var fileHookEventPublisherNativeToBusProxy = proxyFactory.Create(fileSystemHookEventBus);

             var trinketNatives = (TrinketNatives*)configuration.TrinketNativesPointer;
             Console.WriteLine("TrinketNatives (Pre-validation): " + trinketNatives[0]);
             trinketNatives->Validate();
             trinketNatives->fileHookEventPublisher = fileHookEventPublisherNativeToBusProxy;
             return NestResult.Success;
        }
        public NestResult Start(HostedTrinketConfiguration configuration)
        {
            var fileSystemHookEventBus = new FileSystemHookEventBusImpl();

            fileSystemHookEventBus.CreateFilePre += (s, e) => {
                Console.WriteLine("CreateFile: " + e.Arguments.Path + " " + e.Arguments.Access);
            };
            var proxyFactory = new FileHookEventPublisherNativeToBusProxyFactory();
            var fileHookEventPublisherNativeToBusProxy = proxyFactory.Create(fileSystemHookEventBus);

            var trinketNatives = (TrinketNatives *)configuration.TrinketNativesPointer;

            Console.WriteLine("TrinketNatives (Pre-validation): " + trinketNatives[0]);
            trinketNatives->Validate();
            trinketNatives->fileHookEventPublisher = fileHookEventPublisherNativeToBusProxy;
            return(NestResult.Success);
        }