Given an organizational hierarchy tree, return the lowest common organization (parent node) for two or more employees (≥ 2). Provide unit tests, detail your tree representation, and discuss how to support dynamic additions and deletions of users/groups with thread-safety considerations.