Subscribing to Multiple Events

I am building an external application that I want it to subscribe to process events like, start, end etc. through a message queue and then act on them. I looked at Execution Listener but I am not sure if that’s the way to go. Is that a possibility or should I consider modifying the community engine myself?

Thank you