Immutable Component Entity System in Scala