/// <inheritdoc cref="ApplyTransformationEventArgs"/>
        public async Task OnEventHandler(object publisher, ApplyTransformationEventArgs e)
        {
            try
            {
                var(xStr, yStr) = e.Parameters;

                var x = Convert.ToDouble(xStr);
                var y = Convert.ToDouble(yStr);

                var copy = await _locker.LockOperationAsync(
                    () => new Bitmap(ViewModel.Source)
                    ).ConfigureAwait(true);

                var transformation = View.Dropdown;

                Aggregator.PublishFromAll(publisher,
                                          new AttachBlockToRendererEventArgs(
                                              block: new PipelineBlock(copy)
                                              .Add <Bitmap, Bitmap>(
                                                  (bmp) => _provider.Apply(bmp, x, y, transformation))
                                              )
                                          );
            }
            catch (Exception ex)
            {
                View.Tooltip(Errors.ApplyTransformation);
            }
        }