public Game(IInput input, IOutput output, ISoundManager soundManager, Stream defaultsStream, Stream audioStream, Stream commandsStream, Stream storyStepsStream) { Input = input; Input.OnTextReceived += InputOnOnTextReceived; Output = output; SoundManager = soundManager; DefaultsContainer = new ConfigurationContainer<Defaults>(defaultsStream); DefaultsContainer.ReadFromStream(); AudioListContainer = new ConfigurationListContainer<Sound>(audioStream); AudioListContainer.ReadFromStream(); CommandListContainer = new ConfigurationListContainer<Command>(commandsStream); CommandListContainer.ReadFromStream(); DefaultCommands = CommandListContainer.Get(c => c.IsDefault); StoryStepListContainer = new ConfigurationListContainer<StoryStep>(storyStepsStream); StoryStepListContainer.ReadFromStream(); }