Add middleware support

Signed-off-by: Ian Macalinao <me@ian.pw>
Rename delete to destroy

Signed-off-by: Ian Macalinao <me@ian.pw>