Updated to use model observer, fixed model's methods visibility