scope inside module pattern

scope inside module pattern

I want to organize my code better, so I started on a module pattern. But I'm stuck already at the beginning 

This is my code (just for purpose of my question I stripped a lot). I want to use the private var array 'product' to push a productId. However in the 'public access methods' part, that var is 'undefined'. So i can not push a value into the array. Does anyone know why or have a solution to this? I would be very happy with it.

  1.                 PRODUCTS_MODULE = {};
  2.                 PRODUCTS_MODULE.create = (function () {
  3.                     
  4.                     // private
  5.                     var product = [];                              // define product array
  6.                     
  7.                     // public access methods
  8.                     return {
  9.                         // setters
  10.                         setProduct: function(productId) {
  11.                            this.product.push(productId);      // this.product is undefined
  12.                         },
  13.                         
  14.                         getProduct: function() {
  15.                             return this.product;
  16.                         }
  17.                        
  18.                     };
  19.                 } ());
  20.                 
  21.                 var productsObj = PRODUCTS_MODULE.create;
  22.                 
  23.                 productsObj.setProduct(42);
  24.                 console.log(productsObj.getProduct());