Created ExtensionFactory.java, ExtensionType.java, and
ExtensionReader.java