Add JSON role
Switch to Moo::Lax, start refactor on Request role

- Handle forward and reverse operations
Finish major refactoring

Test 02 and higher are still broken