Hypermedia controllers

DO NOT MERGE. FOR DISCUSSION ONLY.

@fosdev please review and comment