Items are now extensible records; this is required for doing the right thing with collisions and messages
Programming is hard