Trust in thing.position, iterate over thing objects
Abstract of create_parts corrected for new approach
Closest works with things, not positions
Collect and return events (action results)
Events are instance property of world
Events remember the thing, and are printed in draw()
Forbade moving too far away
When attacking or healing, tell the target, not the position
Deaths are controled on the step, after all the actions (thus allowing revival)
Fix randint call
On next_step, just give a list of things
Catch unknown actions
Catch actions errors if debug disabled
Events printed in color of the thing
Include message error in events
Some checks on targets and destinations
Idle event
Handling errors in next_step result format, and method finding
Fixes in error handling, and for next_step just catch the python exception
Some comments