A composable RESTful JSON API to DBIx::Class schemas using roles and Web::Machine