extract PersistentQueue interface