-- Issues -- New properties system Method for getting list of strings that are properties Separating triggers Trigger class How to deal with keyboard and connection triggers? How to deal with gizmo palette? Collisions collision manager? Pythonic collide and reverseCollide? Don't get into infinite loops Ask objects what they know how to collide with? Good for optimization Have three: don't know how, can collide, never collides Can build a flat list of collisions to test At least one of the two must know how to collide with the other -- Resolutions -- Separating triggers With new properties system, no need Collisions Good Collidability is between classes Because, really, that's what it is How to get a list of gizmos? classs Property system Don't just return Object from getProperty, because reflection gives us the type for free. Have an observer system and require the set methods that are reflected (no, not that reflected) by properties to call the observers Gizmo palette-GameBoardComponent interaction Because the palette is renderer-specific, have a factory for it in the renderer The basic UI still has to lay it out Fixed and translatable Mostly useful for physics There's only one gizmo that's translatable, so don't bother Gizmo properties Have very few properties in the abstract gizmo They're very cheap to create Coding practices (may want to cover later) Brace placement checkRep control log4j build tools