make proposal ID generation a parameter.