This prevents unnecessary merge conflicts in future. Also code follows a simple formatting rule set and is easier to read.
Link looks more like a service. When dealing with dependency injection it would make sense to create a single instance with settings. Following calls can then ask to create a button or link with all necessary information.