Add better theme switching support