protected abstract void RunCore(ServerConfig config);
public void Run(ServerConfig config) { ParseConfig(config); RunCore(config); }
protected virtual void ParseConfigCore(ServerConfig config) { }
public void ParseConfig(ServerConfig config) { Config = config; ParseConfigCore(config); }