Make object construction more flexible