Refactor Observer, remove Model as parameter