public static void Main() { Logger.Info("Start initialization."); var kernel = new StandardKernel(); // TODO: create logger module kernel.Bind<ILogger>().ToMethod(x => LogHelper.GetLogger()); DependancyBinder.Instance .RegisterModules( new ModelsModule(kernel), new LogicModule(kernel), new ValidationModule(kernel), new CommandModule(kernel), new HighscoreModule(kernel), new SaverModule(kernel), new ConsoleModule(kernel)) .LoadAll(); var ctx = new Context(kernel); var bundle = new ConsoleBundle(kernel); // TODO: extract in a module bundle.CommandFactory.RegisterCommand("exit", () => new ExitCommand()); var engine = new ConsoleEngine(ctx, bundle); Logger.Info("Starting the game."); engine.Run(); }