externalising the report execution mecanism in a directive