src/main/java/org/intellimate/izou/sdk/frameworks/music/player/template/Player.java
@Override
    public void renderFinalOutput(List<T> data, EventModel eventModel) {
        if (StartMusicRequest.verify(eventModel, capabilities, this, activators)) {
            if (isOutputRunning()) {
                playerError(PlayerError.ERROR_ALREADY_PLAYING, eventModel.getSource());
            } else {
                handleEventRequest(eventModel);
            }
        } else if (eventModel.getListResourceContainer()
                .providesResource(Collections.singletonList(MusicUsageResource.ID))){
            if (isOutputRunning()) {
                eventModel.getListResourceContainer()
                        .provideResource(MusicUsageResource.ID)
                        .forEach(resourceModel ->
                                playerError(PlayerError.ERROR_ALREADY_PLAYING, resourceModel.getProvider()));
            } else {
                handleResourceRequest(eventModel);
            }
        } else {
            handleCommands(eventModel);
        }
    }
@Override
    public void renderFinalOutput(List<T> data, EventModel eventModel) {
        if (StartMusicRequest.verify(eventModel, capabilities, this, activators)) {
            if (isOutputRunning()) {
                playerError(PlayerError.ERROR_ALREADY_PLAYING, eventModel.getSource());
            } else {
                handleEventRequest(eventModel);
            }
        } else if (eventModel.getListResourceContainer()
                .providesResource(Collections.singletonList(MusicUsageResource.ID))){
            if (isOutputRunning()) {
                eventModel.getListResourceContainer()
                        .provideResource(MusicUsageResource.ID)
                        .forEach(resourceModel ->
                                playerError(PlayerError.ERROR_ALREADY_PLAYING, resourceModel.getProvider()));
            } else {
                handleResourceRequest(eventModel);
            }
        } else {
            handleCommands(eventModel);
        }
    }
method that uses the data from the OutputExtensions to generate a final output that will then be rendered.

@param data       the data generated
@param eventModel the Event which caused the whole thing