First, seting the output to one color removes (turns off) the previous colors. So doing:
rs.setBundledOutput("back", colors.blue) -- blue is on
sleep(0.2)
rs.setBundledOutput("back", colors.yellow) -- yellow is on, blue is off
And you should use the colors api instead of subtracting the colors, since it may no do what you expect. So you should use:
rs.setBundledOutput("back", colors.subtract(rs.getBundledInput("back"), colors.blue))
This are simple functions to add and remove colors, use them if you want:
local function addOutput(side, ...)
local c = colors.combine(rs.getBundledInput(side), ...)
rs.setBundledOutput(side, c)
end
local function removeOutput(side, ...)
local c = colors.subtract(rs.getBundledInput(side), ...)
rs.setBundledOutput(side, c)
end