Been thinking about this. What I've done here is just a refactoring of what it was before. Before it used to be like this:

```python
connection = self.database.connection()
try:
    ...do stuff with 'connection'...
finally:
    connection.close()
```

Now, instead, it's:
```python
with self.get_connection() as connection:
    ...do stuff with 'connection'...
```

It's no functional difference except my refactoring is, in my opinion, neater.