Add a bit more documentation to some objects
Add a function to return a symfony style response
Reformat to be PSR-2 compatible
Optimise OPTIONS requests by not creating the data object