[#94] introduce pre/post render listeners