// Copyright 2014-2015, University of Colorado Boulder

/**
 * Base module for model elements whose position and opacity can change.
 *
 * @author John Blanco
 * @author Andrew Adare
 */
define( function( require ) {
  'use strict';

  var inherit = require( 'PHET_CORE/inherit' );
  var Node = require( 'SCENERY/nodes/Node' );

  /**
   * @param {PositionableFadableModelElement} modelElement
   * @param {ModelViewTransform} modelViewTransform
   * @constructor
   */
  function EFACBaseNode( modelElement, modelViewTransform ) {
    Node.call( this );

    /**
     * Update the overall offset based on the model position.
     *
     * @param  {Vector2} offset
     */
    modelElement.positionProperty.link( function( offset ) {
      this.setTranslation( modelViewTransform.ModelToViewPosition( offset ) );
    } );

    /**
     * Update the overall opacity base on model element opacity.
     *
     * @param  {Number} opacity
     */
    modelElement.opacityProperty.link( function( opacity ) {
      this.setOpacity( opacity );
    } );
  }

  return inherit( Node, EFACBaseNode );
} );

@@ -545,32 +545,58 @@
 l( this );%0A%0A
+    var thisNode = this;%0A%0A
     /**%0A
      * Updat
@@ -575,32 +575,32 @@
  this;%0A%0A    /**%0A
-
      * Update th
@@ -759,24 +759,28 @@
 %7B%0A      this
+Node
 .setTranslat
@@ -803,17 +803,17 @@
 ansform.
-M
+m
 odelToVi
@@ -1023,24 +1023,24 @@
 opacity ) %7B%0A
-
       this.s
@@ -1037,16 +1037,20 @@
     this
+Node
 .setOpac

Fix typo and use thisNode