Those hacks are copy&pasted to every composite block with input and popup. One possible solution here could be a silly mixin, which implemented common functionality.
BemDom.declMix('control_has-popup', {
// protected methods to work with block refocusing
});
BemDom.decl({ block : 'suggest', baseMix : ['control_has-popup'], {
// I know I'am ugly, but I glow in the dark
});
Those hacks are copy&pasted to every composite block with
inputandpopup. One possible solution here could be a silly mixin, which implemented common functionality.