+/// [`Persister::persist_graph`] is responsible for writing out the [`NetworkGraph`] to disk, if
+/// [`GossipSync`] is supplied. See [`NetworkGraph::write`] for writing out a [`NetworkGraph`].
+/// See the `lightning-persister` crate for LDK's provided implementation.
+///
+/// Typically, users should either implement [`Persister::persist_manager`] to never return an
+/// error or call [`join`] and handle any error that may arise. For the latter case,
+/// `BackgroundProcessor` must be restarted by calling `start` again after handling the error.
+///
+/// # Event Handling
+///
+/// `event_handler` is responsible for handling events that users should be notified of (e.g.,
+/// payment failed). [`BackgroundProcessor`] may decorate the given [`EventHandler`] with common
+/// functionality implemented by other handlers.
+/// * [`P2PGossipSync`] if given will update the [`NetworkGraph`] based on payment failures.
+///
+/// # Rapid Gossip Sync
+///
+/// If rapid gossip sync is meant to run at startup, pass [`RapidGossipSync`] via `gossip_sync`
+/// to indicate that the [`BackgroundProcessor`] should not prune the [`NetworkGraph`] instance
+/// until the [`RapidGossipSync`] instance completes its first sync.
+///
+/// [top-level documentation]: BackgroundProcessor
+/// [`join`]: Self::join
+/// [`stop`]: Self::stop