extracted StreamedMessage into its own class, and added partition and offset to the query output