formalise contract for registering and listing behaviours. run integrity checks as additional reification step