Start reworking elections

Preparing to support a variety of election types