I think it was ok.

1. First the right side with `init` on it is evaluated while `sharedInstance` is still `nil`.
2. Only then the left side (`sharedInstance`) is set to the result of the right side. 

Both things won't happen at the same time (you can check with the debugger and "step in" button), so there was no need to separate it in two lines.