Clean up class factory and make router components classes.
Update build.
Update doco.