finally turning this into a proper system with parameters, ui, midi, etc