Start documenting provider methods.
Move error declarations into dedicated file.
Add errors header to public headers.