Refactor Program.Run()