the addObserver call is async so we need two try catch.