It feels strange that the service is handling an event here. In theory, this service could/should be used from anywhere...and a click event is just one possible client. I would get rid of the event parameter.

I'm not sure about this and would welcome other opinions.