unlimited objects 4: abstraction of object/movement state
unlimited objects 5: remove compiler limitations