callbacks being called multiple times

I've created a patch for an issue I ran into where model callbacks
will be called multiple time. See ticket:

This happens because the class file is required multiple times, and
the callbacks are added on every read. The patch adds a check before
defining a callback to see if the method name is already added.