Idea from @bennn , see #39 Modify the `define-script` macro to generate contract based on the requested arguments.