Passing parameters to transactions

Arbitrary parameters can be passed to transactions by setting the params
attribute when declaring the transaction. This feature is handy to re-use the
same transaction code for multiple calls but with different parameters.