public Intersection(Vector3 position, IntersectionCustomization customization) { this.customization = customization; this.connectedRoads = new List <Road> (); _position = position; this.builder = GameObject.FindWithTag(GlobalTags.Builder).GetComponent <IntersectionBuilder> (); // TODO Performance optimizaiton: this always build an empty game object this.gameObject = this.builder.BuildIntersection(this); }