I still need the php://insert, and I just replace the mb_parse_str, with the appropriate request type... it was really the php://insert I needed.

I think it could make sense to have $_PUT, it $_PUT were populated based on the Content-Type in the request header, which is effectively how I'm implementing my controller, but with member variables rather than globals. This way I have ready to go data in a consistent format, and the entire request is abstracted away.