public ClientPluginPanel(ClientPlugin plugin) : this()
        {
            mPlugin = plugin;
            mConfig = plugin.Config as DistributedConfig;

            portUpDown.Value = mConfig.Port;
            addressBox.Text  = mConfig.Address;
            nameBox.Text     = mConfig.ClientName;
            if (mPlugin.Connected)
            {
                connectButton.Enabled = false;
            }
            else
            {
                disconnectButton.Enabled = false;
            }
        }
        public ServerPluginPanel(ServerPlugin plugin) : this()
        {
            mPlugin = plugin;
            mConfig = plugin.Config as DistributedConfig;

            portUpDown.Value = mConfig.Port;
            if (mPlugin.Started)
            {
                startButton.Enabled = false;
            }
            else
            {
                stopButton.Enabled = false;
            }

            mPlugin.ClientConnected    += (name, source) => Invoke(new Action(() => eventsBox.Text += name + " connected from " + source.Address));
            mPlugin.ClientDisconnected += name => Invoke(new Action(() => eventsBox.Text += name + " disconnected"));
        }