Create HATEOASIFIED resources: a data model associated with a controller with a persistence hook. All declaratively.