Minor refactoring. Removes 'hasOwnProp' method from Factory

Minor refactoring.

Removes the method ```hasOwnProp``` from Factory and inlines its usages elsewhere. The resulting code is simpler, shorter, more object-oriented and does not use ```Function.prototype.call```.