Merge branch `rewrite` into `master`.
make proposal ID generation a parameter.