The listener shouldn't be generating html. That should be done by the Ambrose UI.