This injects FileSelectionManager as a singleton, so we can use its selection to recreate a snapshot, even in a service. Also includes some UI improvements.