Hi guys,
I'm in the progress of tackling another itch in my engine which is the entity component model. At the moment it works like this: You create an entity and must attach a node (the visual representation of an object in a scene) to it. You can then create one or multiple components, add them to an entity and the components will be updated each frame. You can even send messages from components, and technically communicate between components. It works in general, but I still have some reservations to use it in a bigger project.

My ideas/thoughts:
- De-coupling the node from the entity; Basically nodes should then be components and you could plug them on entities; Advantage: More flexibility, but that requires me to rewrite some node related stuff and this forces me to have a render procedure in a component which I personally would like to avoid
- Using generics for inheritance: Basically entities could inherit from T which could either be a node or prefab entities (like say TMoveableEntity or TEntityWithHealthAndWeapons); I'm not so sure if that's a good idea though as the point of the entity component model is to try to use as little inheritance as possible on game objects
- I came across the Artemis framework. Basically their idea behind this is to get rid of all the logic in components (no render or update calls) and components act like data stores. This is a good approach in my opinion, but I'm not sure I like the systems idea in it and this would probably be the most complex one to adopt.

I would like to know from anyone who has an entity component model in their game/engine how you chose to implement it or which idea you would like best.