Instantiate once in application anytime, will be destroyed once at application exit
```rust pub struct Application { main_window: Window }
impl Application { // Instantiated an Application once AppInstance!(pub static instance: Application = Application::new()); fn new() -> Self { ... } } // Application::main_window::drop is going to be called at exit ```