Понятия не имею. Если в `button` нужно передать что-то сложное, там явно нужно описывать `content`  c BEMJSON. 
Поскольку тут тоже это можно сделать (описав поле `button`), я не очень понимаю, зачем нужен был `BEMHTML.apply()`. Но как факт, его можно было заменить на `realply`