Update instead of copy excludes in updateDirectives.

updateDirectives was creating a new excludes array each time the method was called, and the set of recursive calls to updateDirectives were not maintaining excludes across calls.