func (store *MemoryMessageStore) Pop() ([]*ReceivedMessage, error) {
    store.mu.Lock()
    defer store.mu.Unlock()
    all := make([]*ReceivedMessage, 0, len(store.messages))
    for hash, msg := range store.messages {