It's basically because the relevant functions are already exposed publicly from media. The main purpose of this private function is to see which state the model is in. If someone wanted to make a call for this outside of the event listener, they would probably know what state the model was in and could call the appropriate function directly. The real issue here is that the event isn't detailed enough. I'll leave a small comment about this in the code.