I don't want to derail from the focus of NJ's original inquiry but just an aside on the current lighting/material approach in Broomstick that NJ mentioned was presenting a problem.
It seems that simply turning off a light in a complex scene requires one to walk each material and invalidating the shader (after reassigning the light array)? e.g. It's not enough to simply have materials share a single light Array reference because the array isn't reconsidered on successive rendering passes. Also how would one share a material between two different Entity instances that are affected by different lights in world space if materials are bound to light instances?
