Update to new API. Wow, that was awesome.

 Somehow we both came up with a near-identical API. Works great.