Use layout to allow nicer JSON to be generated for middleware tab