This is confusing. Is this public API and not likely to be changed or not?
It's not an interface user code is expected to implement, but it is public. So far I haven't had to change existing methods, just add new ones. That will have to continue in the future.