simplest possible implementation, ie the method and next_messages are loaded many times. But the layer design shines, it’s easy to understand