Don't add an observer more than once per model (refs #286)