to prevent deadlocks, etc...: - [x] use context for all function calling package model and model itself - #19511 - ... - [ ] add func that can extract an open session from context if there is one or open a new one - [ ] be able to make sure, if `db.TxContext()` was already opened, a function within the stack does not open a second one again