Jeśli chcesz używać tego w kilku klasach, to może się okazać, że callbacki też będziesz musiał definiować
dla każdej klasy osobno, zajrzyj do pierwszego komentarza w manualu php tyczącym preg_replace_callback.
Poza tym napisanie jednolitej metody, w momencie gdy masz różne klasy i różne elementy w nich to igranie nieco z ogniem bo musisz zawsze wiedzieć co jest na którym miejscu w tablicy wzorców i tablicy z danymi zastępczymi. Inaczej może się okazać, że pomyliłeś kolejność elementów
Na pewno używanie wyrażeń regularnych jest wygodne, ale nie zawsze daje się zastosować jako uniwersalna metoda do wszystkiego. Ogólnie jestem za ich stosowaniem, ale dla części przypadków nie ma co uruchamiać wyrażeń regularnych jeśli użycie ich można zastąpić prostszymi metodami. Czasem właśnie zwykła konkatenacja lub wywołanie prostszego preg_replace z odpowiednimi parametrami daje to samo co preg_replace_callback. Kwestia rozsądku w stosowaniu i nie przesadzania z uwielbieniem dla wyrażeń. Nie zawsze jest sens je stosować i trzeba umieć balansować pomiędzy używaniem ich a czegoś prostszego. Tu już wychodzi wyczucie, doświadczenie i analizy czasowe

preg_replace($wzorzec_zmiennych_zastępowanych
, $tablica_z_danymi do_zastąpienia
, $tekst)
Da dokładnie to samo co wyskoczenie z callbackiem. A jest na pewno szybsze, bo funkcja nie musi wyskakiwać z preg by się odwołać do zewnętrznej funkcji. Każde takie wyskoczenie to drobny narzut czasowy, który sam sobie fundujesz gratis.