Make withPrompts, withArguments, withOptions chainable

Close #631 
The second options looks good to me, just make sure to add a test checking the error is correctly raised on an invalid option.