Added Model, deported EventSpeaker into core.js