To prevent context issues (understand this
is not what you expected), you can make the new
keyword optional with constructors.
In fact, if this
isn't a object that was just created by the function, a recursion that corrects the way the function is called is made.