There's a theory that you can cure this by following standards, except there are more "standards" than there are things computers can actually do, and these standards are all variously improved and maligned by the personal preferences of the people coding them, so no collection of code has ever made it into the real world without doing a few dozen identical things a few dozen not even remotely similar ways.
The Artemis framework inherits the concept of Entities representing bags of Components, but it does away with the OO concept of encapsulating behaviour within the components. Instead, it adopts a data-driven design involving the separation of the data and logic of each component. In essence, the Components serve as little more than bags of data. They have no update function, no internal logic, just getter and setter functions to expose their current values. The logic is instead encapsulated in the Systems that accompany the entities and components.
There are buckets of great articles out there explaining the entity/component game design paradigm from different perspectives, and it’s the kind of concept where your understanding really benefits from a broad exposure. Below is just a handful of the ones I’ve found useful in my adventures. You can, of course, find plenty more by Googling “entity component game”.
Game Engines: Flash 9(AS3), Shockwave, C4, NeoAxis, jME, Torque, Unity, Blitz, id Tech 3, XNA, Multiverse, Adventure Game Studio, Game Maker, Wintermute, Scrolling Game Development Kit, Source, PopCap Framework, metaplace?
This is the online version of the first edition of the book Programming in Lua, a detailed and authoritative introduction to all aspects of Lua programming written by Lua's chief architect.
SLUDGE (standing for Scripting Language for Unhindered Development of a Gaming Environment) is a system by which anyone (within reason) can make an adventure game. It runs in any recent version of Windows and now also on Mac OS X and Linux. It's high-res (any resolution you want) and uses 32-bit colour. To make your own SLUDGE games you'll be needing the SLUDGE Development Kit; to play the games, the SLUDGE Engine is required (it's included in the development kit download and should typically be distributed along with the games).
I’ll be working through some programs here in Max/MSP/Jitter, Quartz Composer, Impure, and maybe some other environments as well. Today I’m starting with a rather sophisticated little patch that models the children’s game “best friend, worst enemy” in a 3-D environment.