improved api to be able to extend clean objects
removed baseObject toString and isInstance methods since they seem kinda useless
detect invoking constructor without new