Not all the lights of the game are GameLamps. Some of them are GameObjects. And even GameItems  (like the glowstick, flashlight or flare). But those are managed via subclasses. For the rest of them, iGameEntity looks like the right way to check