Description
to prevent deadlocks, etc...:
- use context for all function calling package model and model itself
- 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