Added on_display callback
Fixed widget button onclick register so it only will ever register a callback once.