Right now, if you pick Schulze method, for instance, you are forced to use a ranked ballot. That should not be the case: you can use Schulze with other types of ballots too (e,g, wutg support/oppose ballots, or with star rating ballots). Same applies to some other choices too.
Moreover, we cannot have a ballot with two questions each of which being tallied in a different way. For instance, you cannot have a multiple choice ranking question that is tallied using Schulze method and a second yes/no quesiton that is aggregated as a percentage alone.
Instead, SecurePoll should give you two separate sets of choices: one for ballot type (support/oppose, star rating, numeric rank, ...), and one for voting system (i.e. how these ballots are combined) which would include Schulze, Meek, etc. Of course some voting systems don't work with some ballot types, and that should be validated in the code. This configuration should not be at the ballot level, but rather, at the ballot question level.