many function arguments is a big code smell which results in unreadable code imo. I prefer setters