represent runner environments as tree
use unique environment id when select runner