def __init__(self, db):
        """ NOTE: This class does not commit any changes to the db. That must
        be done from the calling environment.

        @type db: Cerebrum.database.Database
        @param db: A database connection.
        """
        self.db = db
        self.co = Factory.get('Constants')(db)
        self.clconst = Factory.get('CLConstants')(db)

        self.account_class = Factory.get('Account')
        self.group_class = Factory.get('Group')

        self.vhutils = VirthomeUtils(db)