Если кнопки - картиночные, то есть у каждой своя фото. Удобнее делать типа того

Код AS3:
ButtonsFactory.define(photo, id*/string,int*/);
var cust:CustomBtn = ButtonsFactory.createButtonByID("15");
То есть сначала создаем списочек, а потом из списка нужное тянем. Аналогично работа со звуком, когда их много, хотя там лучше вообще чистым статиком обойтись
По поводу функционала, стоит создать отдельный класс CustomBtn в котором и описать весь стандратный функционал оверов и аутов