Intercepting Sabre Emulator Commands

I am working on a hybrid web app, one which works on Sabre Red 360 as well as Sabre Web. I have been trying to intercept a sabre command and I have managed to follow the following guide to get it working on Sabre Desktop.

However Im not able to get it working on Sabre Web Red App. Im not sure what to do and whether I should be using Service or an EventListner?

Here is the code Im using in Sabre Red: In my redapp.xml:

<Service name="EMU_COMMAND" 
    handler_name="net.travelautomation.ecotrip.CommandModificationService" action_code="TEST"/>

It also contains this for the Web Red App:

<EventListener event_filter="EMU_COMMAND"
        handler_class="net.travelautomation.ecotrip.services.TestService"
        desc="" state="PRE" action_code="TEST" />

In my Class:

public class CommandModificationService implements IService
{
    @Override
    public void process(IServiceContext context)
    {
        ContextStatusAdvisor contextAdvisor = new ContextStatusAdvisor(context,getClass());
        IRequest request = context.getRequest();
        if (request instanceof EmulatorCommandRequest)
        {
            // Obtain the intercepted command
            EmulatorCommandRequest commandRequest = (EmulatorCommandRequest) request;
            EmulatorCommand command = commandRequest.getEmulatorCommand();
            if (command.getCommand().startsWith("TEST")){
                System.out.println("Testing,testing,123");
            }
        }
    }
}

In my TestService.ts:

import { ICommandMessageService } from "sabre-ngv-commsg/services/ICommandMessageService";
import { CommandMessageBasicRs } from "sabre-ngv-pos-cdm/commsg";
import { getService } from "../Context";
import { ErrorAwareRs } from "../model/ErrorAwareRs";

export class TestService {
  public async sendCommandToEmu(){
    console.log("Hello world command.");
  }
}

Please help!