diff --git a/player/js/elements/BaseElement.js b/player/js/elements/BaseElement.js
index 36e588d..031cc81 100644
--- a/player/js/elements/BaseElement.js
+++ b/player/js/elements/BaseElement.js
@@ -1,11 +1,7 @@
 import {
   createElementID,
+  getExpressionInterfaces,
 } from '../utils/common';
-import LayerExpressionInterface from '../utils/expressions/LayerInterface';
-import EffectsExpressionInterface from '../utils/expressions/EffectInterface';
-import CompExpressionInterface from '../utils/expressions/CompInterface';
-import ShapeExpressionInterface from '../utils/expressions/ShapeInterface';
-import TextExpressionInterface from '../utils/expressions/TextInterface';
 import getBlendMode from '../utils/helpers/blendModes';
 import EffectsManager from '../EffectsManager';
 
@@ -28,6 +24,15 @@
     return false;
   },
   initExpressions: function () {
+    const expressionsInterfaces = getExpressionInterfaces();
+    if (!expressionsInterfaces) {
+      return;
+    }
+    const LayerExpressionInterface = expressionsInterfaces('layer');
+    const EffectsExpressionInterface = expressionsInterfaces('effects');
+    const ShapeExpressionInterface = expressionsInterfaces('shape');
+    const TextExpressionInterface = expressionsInterfaces('text');
+    const CompExpressionInterface = expressionsInterfaces('comp');
     this.layerInterface = LayerExpressionInterface(this);
     if (this.data.hasMask && this.maskManager) {
       this.layerInterface.registerMaskInterface(this.maskManager);
diff --git a/player/js/elements/FootageElement.js b/player/js/elements/FootageElement.js
index 7f94102..8b85987 100644
--- a/player/js/elements/FootageElement.js
+++ b/player/js/elements/FootageElement.js
@@ -1,10 +1,12 @@
 import {
   extendPrototype,
 } from '../utils/functionExtensions';
+import {
+  getExpressionInterfaces,
+} from '../utils/common';
 import RenderableElement from './helpers/RenderableElement';
 import BaseElement from './BaseElement';
 import FrameElement from './helpers/FrameElement';
-import FootageInterface from '../utils/expressions/FootageInterface';
 
 function FootageElement(data, globalData, comp) {
   this.initFrame();
@@ -30,6 +32,11 @@
 };
 
 FootageElement.prototype.initExpressions = function () {
+  const expressionsInterfaces = getExpressionInterfaces();
+  if (!expressionsInterfaces) {
+    return;
+  }
+  const FootageInterface = expressionsInterfaces('footage');
   this.layerInterface = FootageInterface(this);
 };
 
diff --git a/player/js/modules/canvas.js b/player/js/modules/canvas.js
index 794412e..baa8010 100644
--- a/player/js/modules/canvas.js
+++ b/player/js/modules/canvas.js
@@ -1,13 +1,16 @@
 import lottie from './canvas_light';
 import {
   setExpressionsPlugin,
+  setExpressionInterfaces,
 } from '../utils/common';
 import Expressions from '../utils/expressions/Expressions';
+import interfacesProvider from '../utils/expressions/InterfacesProvider';
 import expressionPropertyDecorator from '../utils/expressions/ExpressionPropertyDecorator';
 import expressionTextPropertyDecorator from '../utils/expressions/ExpressionTextPropertyDecorator';
 
 // Registering expression plugin
 setExpressionsPlugin(Expressions);
+setExpressionInterfaces(interfacesProvider);
 expressionPropertyDecorator();
 expressionTextPropertyDecorator();
 
diff --git a/player/js/modules/full.js b/player/js/modules/full.js
index 7e42cb7..9ce6b08 100644
--- a/player/js/modules/full.js
+++ b/player/js/modules/full.js
@@ -1,6 +1,7 @@
 import lottie from './main';
 import {
   setExpressionsPlugin,
+  setExpressionInterfaces,
 } from '../utils/common';
 import { ShapeModifiers } from '../utils/shapes/ShapeModifiers';
 import TrimModifier from '../utils/shapes/TrimModifier';
@@ -16,6 +17,7 @@
   registerRenderer,
 } from '../renderers/renderersManager';
 import Expressions from '../utils/expressions/Expressions';
+import interfacesProvider from '../utils/expressions/InterfacesProvider';
 import expressionPropertyDecorator from '../utils/expressions/ExpressionPropertyDecorator';
 import expressionTextPropertyDecorator from '../utils/expressions/ExpressionTextPropertyDecorator';
 // SVG effects
@@ -44,6 +46,7 @@
 
 // Registering expression plugin
 setExpressionsPlugin(Expressions);
+setExpressionInterfaces(interfacesProvider);
 expressionPropertyDecorator();
 expressionTextPropertyDecorator();
 
diff --git a/player/js/modules/html.js b/player/js/modules/html.js
index 2edd77d..3e65186 100644
--- a/player/js/modules/html.js
+++ b/player/js/modules/html.js
@@ -1,8 +1,10 @@
 import lottie from './html_light';
 import {
   setExpressionsPlugin,
+  setExpressionInterfaces,
 } from '../utils/common';
 import Expressions from '../utils/expressions/Expressions';
+import interfacesProvider from '../utils/expressions/InterfacesProvider';
 import expressionPropertyDecorator from '../utils/expressions/ExpressionPropertyDecorator';
 import expressionTextPropertyDecorator from '../utils/expressions/ExpressionTextPropertyDecorator';
 // SVG effects
@@ -18,6 +20,7 @@
 
 // Registering expression plugin
 setExpressionsPlugin(Expressions);
+setExpressionInterfaces(interfacesProvider);
 expressionPropertyDecorator();
 expressionTextPropertyDecorator();
 registerEffect(20, SVGTintFilter, true);
diff --git a/player/js/modules/svg.js b/player/js/modules/svg.js
index 1a2140d..4c7f5df 100644
--- a/player/js/modules/svg.js
+++ b/player/js/modules/svg.js
@@ -1,8 +1,10 @@
 import lottie from './svg_light';
 import {
   setExpressionsPlugin,
+  setExpressionInterfaces,
 } from '../utils/common';
 import Expressions from '../utils/expressions/Expressions';
+import interfacesProvider from '../utils/expressions/InterfacesProvider';
 import expressionPropertyDecorator from '../utils/expressions/ExpressionPropertyDecorator';
 import expressionTextPropertyDecorator from '../utils/expressions/ExpressionTextPropertyDecorator';
 // SVG effects
@@ -18,6 +20,7 @@
 
 // Registering expression plugin
 setExpressionsPlugin(Expressions);
+setExpressionInterfaces(interfacesProvider);
 expressionPropertyDecorator();
 expressionTextPropertyDecorator();
 registerEffect(20, SVGTintFilter, true);
diff --git a/player/js/utils/common.js b/player/js/utils/common.js
index da4946d..db54dad 100644
--- a/player/js/utils/common.js
+++ b/player/js/utils/common.js
@@ -4,6 +4,7 @@
 
 let subframeEnabled = true;
 let expressionsPlugin = null;
+let expressionsInterfaces = null;
 let idPrefix = '';
 const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
 let _shouldRoundValues = false;
@@ -232,6 +233,8 @@
 const getSubframeEnabled = () => subframeEnabled;
 const setExpressionsPlugin = (value) => { expressionsPlugin = value; };
 const getExpressionsPlugin = () => expressionsPlugin;
+const setExpressionInterfaces = (value) => { expressionsInterfaces = value; };
+const getExpressionInterfaces = () => expressionsInterfaces;
 const setDefaultCurveSegments = (value) => { defaultCurveSegments = value; };
 const getDefaultCurveSegments = () => defaultCurveSegments;
 const setIdPrefix = (value) => { idPrefix = value; };
@@ -242,6 +245,8 @@
   getSubframeEnabled,
   setExpressionsPlugin,
   getExpressionsPlugin,
+  setExpressionInterfaces,
+  getExpressionInterfaces,
   setDefaultCurveSegments,
   getDefaultCurveSegments,
   isSafari,
diff --git a/player/js/utils/expressions/InterfacesProvider.js b/player/js/utils/expressions/InterfacesProvider.js
new file mode 100644
index 0000000..22accf1
--- /dev/null
+++ b/player/js/utils/expressions/InterfacesProvider.js
@@ -0,0 +1,21 @@
+import LayerExpressionInterface from './LayerInterface';
+import EffectsExpressionInterface from './EffectInterface';
+import CompExpressionInterface from './CompInterface';
+import ShapeExpressionInterface from './ShapeInterface';
+import TextExpressionInterface from './TextInterface';
+import FootageInterface from './FootageInterface';
+
+var interfaces = {
+  layer: LayerExpressionInterface,
+  effects: EffectsExpressionInterface,
+  comp: CompExpressionInterface,
+  shape: ShapeExpressionInterface,
+  text: TextExpressionInterface,
+  footage: FootageInterface,
+};
+
+function getInterface(type) {
+  return interfaces[type] || null;
+}
+
+export default getInterface;
