Feature drips 2.0

Not a huge deal, but your python APIs are different from the Node.js APIs;  Node accepts a `data` object that the developer is expected to craft properly, but here the `data` construction is handled by the methods.

Both have their advantages - It would be good for everyone if we were consistent, though.