Thoughts on API Design