Yes, the API needs improvements. Some of this is a result of merging multiple classes into one. I was also trying to make minimal changes to the public api in the first pass since Tobias has code depending on this.