A method of operation of a service requestor to request a service from a chain controller in a cellular communications network in which a user plane function is decomposed into a plurality of micro user plane functions, comprising: • sending (Fig. 9B, step 12; Fig. 9C, step 23; Fig. 10, step 8), to the chain controller, a service description or a request to update a service description, wherein: ∘ the service description comprises one or more service template instances, the one or more service template instances having respective service template definitions, wherein at least one of the service template definitions comprises an assign object, the assign object being an object to which the chain controller is to assign an identity; ∘ each service template definition of the respective service template definitions being data that defines a set of micro user plane functions that realize a service or a part of a service; and ∘ each service template instance of the one or more service template instances comprises data that defines a reference to the respective service template definition; and • receiving (Fig. 9B, step 15; Fig. 9C, step 26; Fig. 10, step 11) a reply from the chain controller, wherein the reply comprises an allocated identity for the assign object for each of the at least one of the service template definitions that comprise an assign object. • sending (Fig. 9B, step 12; Fig. 9C, step 23; Fig. 10, step 8), to the chain controller, a service description or a request to update a service description, wherein: ∘ the service description comprises one or more service template instances, the one or more service template instances having respective service template definitions, wherein at least one of the service template definitions comprises an assign object, the assign object being an object to which the chain controller is to assign an identity; ∘ each service template definition of the respective service template definitions being data that defines a set of micro user plane functions that realize a service or a part of a service; and ∘ each service template instance of the one or more service template instances comprises data that defines a reference to the respective service template definition; and ∘ the service description comprises one or more service template instances, the one or more service template instances having respective service template definitions, wherein at least one of the service template definitions comprises an assign object, the assign object being an object to which the chain controller is to assign an identity; ∘ each service template definition of the respective service template definitions being data that defines a set of micro user plane functions that realize a service or a part of a service; and ∘ each service template instance of the one or more service template instances comprises data that defines a reference to the respective service template definition; and • receiving (Fig. 9B, step 15; Fig. 9C, step 26; Fig. 10, step 11) a reply from the chain controller, wherein the reply comprises an allocated identity for the assign object for each of the at least one of the service template definitions that comprise an assign object.