refine plugin system: request & response should have seperate priority