Node-RED as Alternative Rule Engine

Can you show me your your function node? Just tested it in my setup. I have a 4way RockerSwitch with 1 Channel per side and this function node returns one of the possible events on each output no problem.

var channel = msg.payload.channel;
var event = msg.payload.event;
if (channel === "enocean:rockerSwitch:FT2VDC6O:FEF9093C:rockerswitchA" && event === "DIR1_PRESSED") {
    return [msg, null, null, null];
}
if (channel === "enocean:rockerSwitch:FT2VDC6O:FEF9093C:rockerswitchA" && event === "DIR2_PRESSED") {
    return [null, msg, null, null];
}
if (channel === "enocean:rockerSwitch:FT2VDC6O:FEF9093C:rockerswitchB" && event === "DIR1_PRESSED") {
    return [null, null, msg, null];
}
if (channel === "enocean:rockerSwitch:FT2VDC6O:FEF9093C:rockerswitchB" && event === "DIR2_PRESSED") {
    return [null, null, null, msg];
}
return null;

you can see the the events beeing sorted to each output, for example here the highlighted event came rightly through output number 3


here is the function node