What are the differences between すぐ、もうすぐ、すぐに?


As far as I am aware, すぐに means "immediately", but in which contexts can you
use もうすぐ and すぐ？




As an example, if I'm told this I might expect the fireworks to start...

[code]

    すぐ花火が始まります-> 0 min - maybe 5 min
    すぐに花火が始まります-> 0 min - maybe 5 min
    もうすぐ花火が始まります-> maybe 5 min - maybe 20 min
    
[/code]

i.e. もうすぐ isn't immediately, more like "very soon". As for すぐ vs すぐに I don't
think there is a difference.

**EDIT** : The actual time these word indicates depends heavily on the context
and listener. The times above are completely made up.

For example if I'm told this, I might expect my scores to go up...:

[code]

    すぐ学力が上がりますよ
         -> I can expect them to go up within 3 months? 
    もうすぐ学力が上がりますよ
        -> it won't get better now, but they will start to get better after at some point, maybe in a month?
    
[/code]

But somebody else may have a completely different expectation.

