Why do not you use IPipelineBehavior ?!