-- by the way, if you are wondering why any of the script callback demos you've seen for ASP.NET 2.0 don't work, its because the GetCallbackEventReference method got moved into the Page.ClientScript class. So,
Page.GetCallbackEventReference(this,"arg", "ReceiveServerData", "context");
now needs to be:
Page.ClientScript.GetCallbackEventReference(this,"arg", "ReceiveServerData", "context");
If you are interested in working with script callbacks for ASP.NET 2.0 in a strongly-typed fashion, and would like to see an example of it done "the right way" instead of the "BS AJAX clone" way, I recommend that you visit Bertrand Leroy's blog and see the gotdotonet workspace for his RefreshPanel infrastructure.