How about the world holding a list of movers that it calls when it updates?
That's fine, but doesn't deal with collision. Something has to mediate movement with collision.
Objects that want to move would add themselves to this list, that sort of thing?
[/quote]
No. Something that knows about the list and the object can work between them.
And let's be clear here. I'm just offering advice. In the end, no software is perfect. In the end, if it runs correctly then the code is good enough. And all the forum chat in the world isn't going to make you a good program designer. Only practice will.
If you think something is a good idea, go try it out. If it causes you trouble, think of why and use that when you make the next game.