This is getting too big. We should use **kwargs and self._get_optional_arg as we do src/tito/builder.py