Thanks @leafo. I realized this after looking at other examples.
A bit counter intuitive for this behavior to take place. I've set a default color at the end of my draw function so it works now.
In general, everything that you draw should be responsible for setting its own global state - shaders, colors, filter modes, etc.