rename `Base` to `Widget` & add `dispose` for `main`