Если сначала сделать безымянный объект
var obj={
elem: elem,
error: error,
//...
}
то как его расширить методами которые как объект-же возвращают перечисленные "классы", то есть это функции
var FormFile = function(opts,progress){
// внутренности
return {
// наружности
};
};