Support builder style construction