allow apps to add buttons on runtime without negatively impacting performance