A database model encapsulates a result set sent from the database. I would always keep it as local as possible (in your case, in the record browsing class) to prevent concurrency errors (e.g. when refactoring, two views might end up accessing the same model leading to strange race conditions).