Refactor buildRegion to simplify building from different regionConfig types