added ability to change name on the fly | renamed ButtonListener for clarity