I'm currently adding entities. I haven't fully fully figured it out though. Basically, there are two types of entities, World, and UI. World entities can be lit, and can be lights also. World entities can be "attached" to other entities. By that I mean they share properties, like a gun and a character, and the light emitting from the gun.
UI entities can be buttons, and health bars. They could be attached to world entities, but world entities cannot be attached to them. Also, UI entities can access the parent entities variables and methods. Making it also easy to have a button above an entity (for example, a robot) to shoot itself. - Which is going to be a gameplay mechanic in my new game. (Thats all I'm going to say about that
Right now, I'm implementing "worlds" into the states. Basically, in the state class there is a world instance that you could access at any time. And it is used for adding and removing world entities. I also plan on having a sort of "UI world" (Not the actual name) for adding UI entities. You can also use some sort of method to load level and entities from an XML file. (Automatic level loading!!!) This XML file will be automatically generated by the "Asset Editor".