How is Screen.render being called? Are you using active or passive drawing on your component? If it is passive then you have to call repaint() on your root container.
Active (I didn't want to post the screen code because it shouldn't matter whether or not it appears but whether or not the entities.size increases)
Where do you set removed to false? That could be the problem.
On definition removed is false, but it doesn't matter since I only want to see an increase in entities.size.
If it works when entities is static but doesn't work anymore when it's not static then you must have more then one Screen object and you add the entity to the wrong one.
I don't know what you mean by that