on... always pass the rendered component, except for before-render which passes the target