Hi,
have you studied "dontdestroyOnLoad" feature? then you can have one gameObject that will survive any scene loading.
The difficult is not really during the game itself, it's during editing, cause you likely want to access a particular scene on its own ( like levels), so you will need some logic to check if you have your manager or not.
so, each scene should have its own manager ( where it applies), and aFsm in that manager maintains a global flag ( a bool flag to know if it exists or not), if it exists already, then you destroy yourself, else, you set that flag to true.
Does that help?
bye,
Jean