Blue husky's LIStener-based Simulation engine: A structure for making listener-based game engines. Also works for non-game programs.