class CompetitionSetupServiceImpl extends BaseTransactionalService implements CompetitionSetupService {

    @Override
    @Transactional
    public ServiceResult<SetupStatusResource> markSectionComplete(Long competitionId, CompetitionSetupSection section) {
        SetupStatusResource setupStatus = findOrCreateSetupStatusResource(competitionId, section.getClass().getName(), section.getId(), Optional.empty());
        setupStatus.setCompleted(true);

        return setupStatusService.saveSetupStatus(setupStatus);
    }

}