Needs some class docs.