The TerminalService does not have $on, $off, and $emit properties. I believe this comes from the ts declaration, but in plain js, this produces an error. Even in the TerminalDemo.vue, the TerminalService uses the event listeners without the $ sign. This should be fixed, because its misleading.