Asynchronous Callback in GWT – why final?-Collection of common programming errors

I am developing an application in GWT as my Bachelor’s Thesis and I am fairly new to this. I have researched asynchronous callbacks on the internet. What I want to do is this: I want to handle the login of a user and display different data if they are an admin or a plain user.

My call looks like this:

serverCall.isAdmin(new AsyncCallback() {
        public void onFailure(Throwable caught) {
            //display error
        }

        public void onSuccess(Boolean admin) {
            if (!admin){
                //do something 
            }
            else{
                //do something else
            }

        }
    });

Now, the code examples I have seen handle the data in the //do something// part directly. We discussed this with the person who is supervising me and I had the idea that I could fire an event upon success and when this event is fired load the page accordingly. Is this a good idea? Or should I stick with loading everything in the inner function? What confuses me about async callbacks is the fact that I can only use final variables inside the onSuccess function so I would rather not handle things in there – insight would be appreciated.

Thanks!