method: add method modes for a better middleware chaining

There might be several cases for middleware chaining. Just like the flag package we provide a way to customize the logic behind how the response is returned. This is fully backwards compatible feature.