[dist] Added `union` dependency.
[refactor] More director related refactors; use `union`.