All sub classes that extend PathToken are public except for PropertyPathToken. Is there any consideration for this class ? Why not make it public too?