make model directive work, update tests for models, add some helpers with better events