"Yes, imo the constructor..." <- Yes, the common error is not coupling the "start something that you are waiting on a response for" to "awaiting". So something like: ```rust let fut = wait_for_press_future(); // this is a future, never polled! enable_button(); // This enables the button and interrupt // button is already pressed! interrupt happens immediately and theres no "listener" yet fut.await; // we hang forever because the event happened before we were listening! ```