File component is now using privatized constructors.