changed button code to do a callback. probably shouldn't even have it do that much, it should just be able to send an event when pressed. oh well.