FIXME: Work in Progress: - Story handling - Context building - Refactor tools To be Done: - Convert the assert into an error when relevant, in _low_level.py - Measure the impact of the architecture on the non streaming operations