This information is valid for Horde 4 and later only.
Normally in PHP, one could wrap code in ob_start() and ob_get_clean() to grab output meant for the browser. Unfortunately, it is not so easy in the Horde framework since CSS stylesheet and JS output must not be sent until the page is entirely ready to output to the browser.
Therefore, it is necessary to use the Horde utility functions Horde::startBuffer() and Horde::endBuffer() to do output buffering. Example:
Horde::startBuffer(); $notification->notify(array('listeners' => 'status')); $notify_output = Horde::endBuffer();