Cache the root widget in its own method