Im trying to use MVC pattern in winforms but when I try invoke event it is always null. I pass GameView form to Game class to which I bind CityButtonPressed method to event but when I run it it seems like if nothing was bound.

```
class Game
{
    private readonly IGameView _gameView;

    public Game(IGameView view)
    {
        _gameView = view;
        _gameView.CityButtonPressed += CityButtonPressed;
    }

    public void CityButtonPressed(object sender,EventArgs e)
    {
          //do something
    }
}

public interface IGameView
{
   event EventHandler CityButtonPressed;
}

public partial class GameView : Form,IGameView
{
    public event EventHandler CityButtonPressed;

    public GameView()
    {
        InitializeComponent();
    }

    protected virtual void OnButtonPressed(EventArgs e)
    {
        CityButtonPressed?.Invoke(this, e);
    }

    private void button1_Click(object sender, EventArgs e)
    {
        OnButtonPressed(EventArgs.Empty);
    }
}

static class Program
{
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        var gameView = new GameView();
        var game = new Game(gameView);
        Application.Run(new GameView());
    }
}

```

What am I doing wrong?