public BeatmapListingPresenter(IBeatmapListingView view, IBeatmapListingModel model)
        {
            _view = view;
            _view.SearchTextChanged       += ViewOnSearchTextChanged;
            _view.SelectedBeatmapChanged  += (s, a) => _model.SelectedBeatmap = _view.SelectedBeatmap;
            _view.SelectedBeatmapsChanged += (s, a) => _model.SelectedBeatmaps = _view.SelectedBeatmaps;

            _view.BeatmapsDropped  += (s, a) => _model.EmitBeatmapsDropped(s, a);
            _view.BeatmapOperation += (s, a) => _model.EmitBeatmapOperation(a);

            _model = model;
            _model.BeatmapsChanged   += _model_BeatmapsChanged;
            _model.FilteringStarted  += ModelOnFilteringStarted;
            _model.FilteringFinished += _model_FilteringFinished;
            _view.SetFilter(_model.GetFilter());
            Beatmaps = _model.GetBeatmaps();
        }
 private void _model_BeatmapsChanged(object sender, System.EventArgs e)
 {
     Beatmaps = _model.GetBeatmaps();
 }