The composite pattern doesn't work on N1, let's switch back
traits over case classes.
the scala part compiles, forward to flex.