push buttons: rename callback -> listener