This architecture is a try to suggest a structure based on object-oriented concept in JavaScript