Renaming interfaces, cleaning up Factory