It's currently not possible to implement multiple interfaces.
In umacros.nim: `proc getTypeNodeFromUClassName` 

```nim
proc getTypeNodeFromUClassName(name:NimNode) : (string, string, seq[string]) = 
    if name.toSeq().len() < 3:
        error("uClass must explicitly specify the base class. (i.e UMyObject of UObject)", name)
    let className = name[1].strVal()

    case name[^1].kind:
    of nnkIdent: 
        let parent = name[^1].strVal()
        (className, parent, newSeq[string]())
    of nnkCommand:
        let parent = name[^1][0].strVal()
        var ifaces = 
            name[^1][^1][^1].strVal().split(",") 
        if ifaces[0][0] == 'I':
            ifaces.add ("U" & ifaces[0][1..^1])
        # debugEcho $ifaces

        (className, parent, ifaces)
    else:
        error("Cant parse the uClass " & repr name)
        ("", "", newSeq[string]())
```
gets the interfaces like this:
```nim
        var ifaces = 
            name[^1][^1][^1].strVal().split(",") 
```

doing a dumpTree to see the AST
```
import std/macros

dumpTree:
  uClass AAuraCharacterBase of ACharacter implements IAbilitySystemInterface, IAnother:
    discard
```
gives us this:
```
StmtList
  Command
    Ident "uClass"
    Infix
      Ident "of"
      Ident "AAuraCharacterBase"
      Command
        Ident "ACharacter"
        Command
          Ident "implements"
          Ident "IAbilitySystemInterface"
    Ident "IAnother"
    StmtList
      DiscardStmt
        Empty
```
So a string if interfaces has to be parsed differently. 

We can use a tuple constructor:
```nim
uClass AAuraCharacterBase of ACharacter implements (IAbilitySystemInterface, IAnother):
```
to give use this:
```
Command
    Ident "uClass"
    Infix
      Ident "of"
      Ident "AAuraCharacterBase"
      Command
        Ident "ACharacter"
        Command
          Ident "implements"
          TupleConstr
            Ident "IAbilitySystemInterface"
            Ident "IAnother"
```

