Replace build plan table with immutable dictionary