public bool RegisterConfiguration(IConfiguration configuration)
{
if (configuration == null) {
throw new ArgumentException("configuration argument cannot be null");
}
if (Configurations.ContainsKey(configuration.GameType)) {
throw new Exception(String.Format("Configuration with type {0} already registered!", configuration.GameType));
}
bool result = Configurations.TryAdd(configuration.GameType, configuration);
if (result) {
OnConfigurationRegistered(configuration);
}
return result;
}