Implement dynamic method dispatch logic in Actor interface / module
## Estimation Estimated focus duration (perfect conditions): X days \ Estimated pessimistic duration (worst case scenario): X days ## Description <details> <summary>Click to expand</summary> ### Who 1. ? -- implementation 2. @kabir.kbr -- design and architecture advice; 3. @dagimsisay -- implementation advice; ### What 1. Implement triggerBehavior() method in Actor interface as discussed in https://gitlab.com/nunet/open-api/platform-data-model/-/merge_requests/35#note_1938445124 ### How 1. Suggestions to be discussed 1. represent procedure request and response as such: ```go type RPCRequest struct { Procedure string Params []interface{} } type RPCResponse struct { Result interface{} Error string } ``` 2. and have a procedure registry that we can map with a name as such: ```go type ProcedureRegistry struct { procedures map[string]func([]interface{}) (interface{}, error) } ``` 2. The goal is to allow actors to invoke remote procedures of other actors and for methods/procedures to be added as necessary. 3. More detail can be the result of further discussion and findings from work on #473 and #480 ### Why 1. ### When 1. This functionality is actually implemented in the (currently open PR) here: https://gitlab.com/nunet/device-management-service/-/merge_requests/386/diffs#fb0d2471453642f4f912fc0aa112d98ffafca411_0_143; When this PR will be merged, and depending on the implementation depth of this functionality, it could be that this issue will be just closed based on that. </details> ## Acceptance Criteria <details> <summary>Click to expand</summary> 1. </details> ## Work Breakdown Structure (WBS) | Task | Description | Duration | Status | Start Date | End Date | Comment | |------|-------------|----------|--------|------------|----------|---------| | A | | x Hrs | Done/In Progress | | | |
issue