How to inject a service in discourse?

Calling a component method from a service isn’t really best practice, and Ember doesn’t provide an easy way to do it. There can be multiple instances of a component, so how would the service know which one to trigger the action on?

That said, sometimes it can be necessary to get something working within the confines of the Discourse plugin outlet system.

I’d recommend the same as @fzngagan - take a look at appEvents. They’re probably the cleanest way to trigger component logic from a service.