For DB connections that want to keep a session alive, there's a new `DatabaseSession` class that holds a SQLAlchemy session inside and offers methods similar to the `Database` class. The `Database` moves to use the `DatabaseSession` to remove duplicated code.