In later tests, the button is nowhere near the relay. It uses a second ESP8266 that sends a UDP packet to control the relay, and also listens for UDP packets to update the status of the indicator ...
While relays are arguably not the ideal solution ... and text inputs that send data to an ESP8266 over UDP.