Method based operations

I'm not happy about the API as-is, but thought I'd throw this out as a first draft so that you can help think about the API. Main issue is how to define attributes.