final sclass PingSource { settable volatile Runnable action; void get() { action?.run(); } }