/call RemoteCall "subname param0 param1..."
Sub RemoteCall(string RemoteSubParams)
||| One may need to cache params if needed elsewhere, but you can also use .Arg[] to extract
/declare MacroReturn string local NULL
||| Debug call stack but the value of CurSub is substituted with the subname passed in
CALLINGSUB
CALLINGINDEX
||| Perhaps put a generic debug Entry message in here
PUSHCALL
||| Modify the DEBUG define(s) to use the debug flags as vars rather than hardcoded and replace CurSub with name of calling sub
DEBUGN
/call ${RemoteSubParams}
/varset MacroReturn ${Macro.Return}
DEBUGN...
||| Perhaps put a generic Exit messsage in here
POPCALL
/return ${MacroReturn}