Five habits of highly effective APIs