I wonder if this setTimeout is needed, since loadPanel does an async thing anyway. I would avoid setTimeouts when possible, as it means waiting longer for event loop spinning -- other things like browser paints can get in the loop and mean your timeout callbacks are not triggered until later. Since this changeset is about startup time, one of the ways to get better startup is to be sure the stuff that is wanted in the DOM is there as soon as possible.