diff --git a/lib/components.js b/lib/components.js
index 1e2a791..4246f9e 100644
--- a/lib/components.js
+++ b/lib/components.js
@@ -43,12 +43,14 @@ var Layer = exports.Layer = function Layer() {var namespace = arguments.length >
   _react2.default.createClass({
     componentWillMount: function componentWillMount() {
       this.props.register(this.props.id, this.props.children, this.props.mountPointId);
-      if (this.props.showInitially) {
-        this.props.show(this.props.id, this.props.defaultArgs || []);
+      if (this.props.showInitially) {var _props;
+        (_props = this.props).show.apply(_props, [this.props.id].concat(_toConsumableArray(this.props.initialArgs || [])));
+      } else {var _props2;
+        (_props2 = this.props).setArgs.apply(_props2, [this.props.id].concat(_toConsumableArray(this.props.initialArgs || [])));
       }
     },
-    shouldComponentUpdate: function shouldComponentUpdate(newProps) {var _props =
-      this.props;var use = _props.use;var children = _props.children;var register = _props.register;var id = _props.id;var mountPointId = _props.mountPointId;
+    shouldComponentUpdate: function shouldComponentUpdate(newProps) {var _props3 =
+      this.props;var use = _props3.use;var children = _props3.children;var register = _props3.register;var id = _props3.id;var mountPointId = _props3.mountPointId;
       var needUpdate = false;
       if (id !== newProps.id || mountPointId !== newProps.mountPointId) {
         needUpdate = true;
@@ -93,12 +95,12 @@ var LayerContext = exports.LayerContext = function LayerContext() {var namespace
 
 
   {var children = _ref2.children;var id = _ref2.id;var displaying = _ref2.displaying;var show = _ref2.show;var hide = _ref2.hide;var hideAll = _ref2.hideAll;var views = _ref2.views;
-    return children({
+    return children.apply(undefined, [{
       show: show, hide: hide, hideAll: hideAll, displaying: displaying, views: views,
       isActive: displaying.indexOf(id) !== -1,
       showMe: function showMe() {for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {args[_key3] = arguments[_key3];}return show.apply(undefined, [id].concat(args));},
       showOnlyMe: function showOnlyMe() {for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {args[_key4] = arguments[_key4];}return hideAll() || show.apply(undefined, [id].concat(args));},
-      hideMe: function hideMe() {return hide(id);} });
-
+      hideMe: function hideMe() {return hide(id);} }].concat(_toConsumableArray(
+    views[id].args)));
   });};
 //# sourceMappingURL=components.js.map
\ No newline at end of file
diff --git a/lib/components.js.map b/lib/components.js.map
index 00b3fa7..a2b0b2a 100644
--- a/lib/components.js.map
+++ b/lib/components.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../src/components.js"],"names":["LayerStackMountPoint","namespace","store","dispatch","mountPointId","id","mountPointArgs","args","renderFn","views","displaying","show","hide","hideAll","length","map","index","view","showOnlyMe","hideMe","showMe","Error","Layer","createClass","componentWillMount","props","register","children","showInitially","defaultArgs","shouldComponentUpdate","newProps","use","needUpdate","toString","i","JSON","stringify","componentWillUnmount","render","LayerContext","isActive","indexOf"],"mappings":"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","file":"components.js","sourcesContent":["import React, { PropTypes } from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators } from 'redux'\n\nimport { ACTIONS } from './reducer'\n\nexport const LayerStackMountPoint = (namespace = 'layer_stack') => connect(\n  (store) => store[namespace],\n  dispatch => bindActionCreators(ACTIONS, dispatch)\n)(({\n  id: mountPointId, args: mountPointArgs, // from props\n  renderFn, views, displaying, show, hide, hideAll // from store\n}) => {\n  return (\n    <div> { renderFn ? renderFn({views, displaying, show, hide, hideAll, mountPointId, mountPointArgs}) // it's possible to provide alternative renderFn for the MountPoint\n      : (displaying.length ? displaying.map ((id, index) => // if no alternative renderFn provided we'll use the default one\n        <div key={id}>\n          {(() => {\n            const view = views[id];\n            if (view && view.renderFn && view.mountPointId === mountPointId) {\n              return view.renderFn({\n                index, id, show, hide, hideAll, displaying, views, mountPointArgs, // seems like there is no valid use-case mountPointId in the Layer render function\n                showOnlyMe: (...args) => hideAll() || show(id, ...args), // TODO: think about improvement\n                hideMe: () => hide(id), // intention here is to hide ID's management from Layer and let app developer manage these IDs independently\n                                        // which will give an ability to write general-purpose Layers and share them b/w projects\n                showMe: (...args) => show(id, ...args) // sometimes you may want to change args of the current layer\n              }, ...view.args)\n            }\n            if (typeof view === 'undefined' || typeof view.renderFn === 'undefined') {\n              throw new Error(`\nIt seems like you're using LayerContext with id=\"${ id }\" but corresponding Layer isn't declared in the current Components tree.\nMake sure that Layer with id=\"${ id }\" is rendered into the current tree.\n`)\n            }})()}\n        </div>) : <noscript />)}\n    </div>\n  )\n});\n\nexport const Layer = (namespace = 'layer_stack') => connect(\n  (store) => store[namespace],\n  dispatch => bindActionCreators(ACTIONS, dispatch)\n)((React.createClass({\n  componentWillMount() {\n    this.props.register(this.props.id, this.props.children, this.props.mountPointId);\n    if (this.props.showInitially) {\n      this.props.show(this.props.id, this.props.defaultArgs || [])\n    }\n  },\n  shouldComponentUpdate(newProps) {\n    const { use, children, register, id, mountPointId } = this.props;\n    let needUpdate = false;\n    if (id !== newProps.id || mountPointId !== newProps.mountPointId) {\n      needUpdate = true;\n    }\n    else if (children.toString() !== newProps.children.toString()) {\n      needUpdate = true;\n    }\n    else if (use) {\n      if (use.length !== newProps.use.length) {\n        needUpdate = true;\n      } else {\n        let i = use.length;\n        while (i--) {\n          if (JSON.stringify(use[i]) !== JSON.stringify(newProps.use[i])) {\n            needUpdate = true;\n          }\n        }\n      }\n    }\n\n    if (needUpdate) {\n      register(newProps.id, newProps.children, newProps.mountPointId);\n      return true;\n    }\n    return false;\n  },\n\n  componentWillUnmount() {\n    // TODO: garbage collection\n    // this.props.unregister(this.props.id)\n  },\n\n  render() {\n    return <noscript />\n  }\n})));\n\nexport const LayerContext = (namespace = 'layer_stack') => connect(\n  (store) => store[namespace],\n  dispatch => bindActionCreators(ACTIONS, dispatch)\n)(({\n  children, id, // from props\n  displaying, show, hide, hideAll, views // from store\n}) => {\n  return children({\n    show, hide, hideAll, displaying, views,\n    isActive: displaying.indexOf(id) !== -1,\n    showMe: (...args) => show(id, ...args),\n    showOnlyMe: (...args) => hideAll() || show(id, ...args),\n    hideMe: () => hide(id),\n  });\n});"]}
\ No newline at end of file
+{"version":3,"sources":["../src/components.js"],"names":["LayerStackMountPoint","namespace","store","dispatch","mountPointId","id","mountPointArgs","args","renderFn","views","displaying","show","hide","hideAll","length","map","index","view","showOnlyMe","hideMe","showMe","Error","Layer","createClass","componentWillMount","props","register","children","showInitially","initialArgs","setArgs","shouldComponentUpdate","newProps","use","needUpdate","toString","i","JSON","stringify","componentWillUnmount","render","LayerContext","isActive","indexOf"],"mappings":"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","file":"components.js","sourcesContent":["import React, { PropTypes } from 'react'\nimport { connect } from 'react-redux'\nimport { bindActionCreators } from 'redux'\n\nimport { ACTIONS } from './reducer'\n\nexport const LayerStackMountPoint = (namespace = 'layer_stack') => connect(\n  (store) => store[namespace],\n  dispatch => bindActionCreators(ACTIONS, dispatch)\n)(({\n  id: mountPointId, args: mountPointArgs, // from props\n  renderFn, views, displaying, show, hide, hideAll // from store\n}) => {\n  return (\n    <div> { renderFn ? renderFn({views, displaying, show, hide, hideAll, mountPointId, mountPointArgs}) // it's possible to provide alternative renderFn for the MountPoint\n      : (displaying.length ? displaying.map ((id, index) => // if no alternative renderFn provided we'll use the default one\n        <div key={id}>\n          {(() => {\n            const view = views[id];\n            if (view && view.renderFn && view.mountPointId === mountPointId) {\n              return view.renderFn({\n                index, id, show, hide, hideAll, displaying, views, mountPointArgs, // seems like there is no valid use-case mountPointId in the Layer render function\n                showOnlyMe: (...args) => hideAll() || show(id, ...args), // TODO: think about improvement\n                hideMe: () => hide(id), // intention here is to hide ID's management from Layer and let app developer manage these IDs independently\n                                        // which will give an ability to write general-purpose Layers and share them b/w projects\n                showMe: (...args) => show(id, ...args) // sometimes you may want to change args of the current layer\n              }, ...view.args)\n            }\n            if (typeof view === 'undefined' || typeof view.renderFn === 'undefined') {\n              throw new Error(`\nIt seems like you're using LayerContext with id=\"${ id }\" but corresponding Layer isn't declared in the current Components tree.\nMake sure that Layer with id=\"${ id }\" is rendered into the current tree.\n`)\n            }})()}\n        </div>) : <noscript />)}\n    </div>\n  )\n});\n\nexport const Layer = (namespace = 'layer_stack') => connect(\n  (store) => store[namespace],\n  dispatch => bindActionCreators(ACTIONS, dispatch)\n)((React.createClass({\n  componentWillMount() {\n    this.props.register(this.props.id, this.props.children, this.props.mountPointId);\n    if (this.props.showInitially) {\n      this.props.show(this.props.id, ...(this.props.initialArgs || []))\n    } else {\n      this.props.setArgs(this.props.id, ...(this.props.initialArgs || []))\n    }\n  },\n  shouldComponentUpdate(newProps) {\n    const { use, children, register, id, mountPointId } = this.props;\n    let needUpdate = false;\n    if (id !== newProps.id || mountPointId !== newProps.mountPointId) {\n      needUpdate = true;\n    }\n    else if (children.toString() !== newProps.children.toString()) {\n      needUpdate = true;\n    }\n    else if (use) {\n      if (use.length !== newProps.use.length) {\n        needUpdate = true;\n      } else {\n        let i = use.length;\n        while (i--) {\n          if (JSON.stringify(use[i]) !== JSON.stringify(newProps.use[i])) {\n            needUpdate = true;\n          }\n        }\n      }\n    }\n\n    if (needUpdate) {\n      register(newProps.id, newProps.children, newProps.mountPointId);\n      return true;\n    }\n    return false;\n  },\n\n  componentWillUnmount() {\n    // TODO: garbage collection\n    // this.props.unregister(this.props.id)\n  },\n\n  render() {\n    return <noscript />\n  }\n})));\n\nexport const LayerContext = (namespace = 'layer_stack') => connect(\n  (store) => store[namespace],\n  dispatch => bindActionCreators(ACTIONS, dispatch)\n)(({\n  children, id, // from props\n  displaying, show, hide, hideAll, views // from store\n}) => {\n  return children({\n    show, hide, hideAll, displaying, views,\n    isActive: displaying.indexOf(id) !== -1,\n    showMe: (...args) => show(id, ...args),\n    showOnlyMe: (...args) => hideAll() || show(id, ...args),\n    hideMe: () => hide(id),\n  }, ...views[id].args);\n});"]}
\ No newline at end of file
diff --git a/lib/reducer.js b/lib/reducer.js
index 58ec986..1296286 100644
--- a/lib/reducer.js
+++ b/lib/reducer.js
@@ -6,6 +6,7 @@ var ACTIONS = exports.ACTIONS = {
   unregister: (0, _reduxActions.createAction)('LAYER_STACK_VIEW_UNREGISTER', function (id) {return { id: id };}),
   toggle: (0, _reduxActions.createAction)('LAYER_STACK_VIEW_TOGGLE'),
   show: (0, _reduxActions.createAction)('LAYER_STACK_VIEW_SHOW', function (id) {for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {args[_key - 1] = arguments[_key];}return { id: id, args: args };}),
+  setArgs: (0, _reduxActions.createAction)('LAYER_STACK_VIEW_SET_ARGS', function (id) {for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {args[_key2 - 1] = arguments[_key2];}return { id: id, args: args };}),
   hide: (0, _reduxActions.createAction)('LAYER_STACK_VIEW_HIDE'),
   hideAll: (0, _reduxActions.createAction)('LAYER_STACK_VIEW_HIDE_ALL') };exports.default =
 
@@ -33,7 +34,14 @@ var ACTIONS = exports.ACTIONS = {
     }
     return _extends({}, state, { views: _extends({}, views, _defineProperty({}, id, newView)), displaying: newDisplaying });
   },
-  'LAYER_STACK_VIEW_HIDE': function LAYER_STACK_VIEW_HIDE(_ref7, _ref8) {var state = _objectWithoutProperties(_ref7, []);var displaying = _ref7.displaying;var id = _ref8.payload;
+  'LAYER_STACK_VIEW_SET_ARGS': function LAYER_STACK_VIEW_SET_ARGS(_ref7, _ref8) {var views = _ref7.views;var state = _objectWithoutProperties(_ref7, ['views']);var _ref8$payload = _ref8.payload;var id = _ref8$payload.id;var args = _ref8$payload.args;
+    var newView = _extends({}, views[id]);
+    if (0 !== args.length) {
+      newView.args = args;
+    }
+    return _extends({}, state, { views: _extends({}, views, _defineProperty({}, id, newView)) });
+  },
+  'LAYER_STACK_VIEW_HIDE': function LAYER_STACK_VIEW_HIDE(_ref9, _ref10) {var state = _objectWithoutProperties(_ref9, []);var displaying = _ref9.displaying;var id = _ref10.payload;
     if (typeof id !== 'string') {
       return _extends({}, state, { displaying: [] });
     }
@@ -45,7 +53,7 @@ var ACTIONS = exports.ACTIONS = {
     }
     return state;
   },
-  'LAYER_STACK_VIEW_HIDE_ALL': function LAYER_STACK_VIEW_HIDE_ALL(_ref9) {var state = _objectWithoutProperties(_ref9, []);
+  'LAYER_STACK_VIEW_HIDE_ALL': function LAYER_STACK_VIEW_HIDE_ALL(_ref11) {var state = _objectWithoutProperties(_ref11, []);
     return _extends({}, state, { displaying: [] });
   } },
 {
diff --git a/lib/reducer.js.map b/lib/reducer.js.map
index a286140..beb4242 100644
--- a/lib/reducer.js.map
+++ b/lib/reducer.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../src/reducer.js"],"names":["ACTIONS","register","id","renderFn","mountPointId","unregister","toggle","show","args","hide","hideAll","views","state","payload","displaying","newView","newDisplaying","length","indexOf","index","splice"],"mappings":"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","file":"reducer.js","sourcesContent":["import { handleActions } from 'redux-actions'\nimport { createAction } from 'redux-actions'\n\nexport const ACTIONS = {\n  register: createAction('LAYER_STACK_VIEW_REGISTER', (id, renderFn, mountPointId) => ({ id, renderFn, mountPointId })),\n  unregister: createAction('LAYER_STACK_VIEW_UNREGISTER', (id) => ({ id })),\n  toggle: createAction('LAYER_STACK_VIEW_TOGGLE'),\n  show: createAction('LAYER_STACK_VIEW_SHOW', (id, ...args) => ({ id, args: args })),\n  hide: createAction('LAYER_STACK_VIEW_HIDE'),\n  hideAll: createAction('LAYER_STACK_VIEW_HIDE_ALL'),\n};\n\nexport default handleActions({\n  'LAYER_STACK_VIEW_REGISTER': ({views, ...state}, { payload: { id, renderFn, mountPointId } }) => {\n    if (views[id]) {\n      delete views[id].renderFn; // mutable to just help javascript GC\n    }\n    views = {...views, [id]: { renderFn, args: views[id] ? views[id].args : [], mountPointId } };\n    return {...state, views};\n  },\n  'LAYER_STACK_VIEW_UNREGISTER': ({views, ...state}, { payload: { id } }) => {\n    delete views[id]; // mutable to just help javascript GC\n    return {...state, views: views};\n  },\n  'LAYER_STACK_VIEW_SHOW': ({displaying, views, ...state}, { payload: { id, args }}) => {\n    const newView = { ...views[id] };\n    let newDisplaying = displaying;\n    if (0 !== args.length) {\n      newView.args = args;\n    }\n    if (!~displaying.indexOf(id)) {\n      newDisplaying = [...displaying, id]\n    }\n    return {...state, views: { ...views, ...{ [id]: newView } } , displaying: newDisplaying };\n  },\n  'LAYER_STACK_VIEW_HIDE': ({...state, displaying}, { payload: id }) => {\n    if (typeof id !== 'string') {\n      return {...state, displaying: [] };\n    }\n    const newDisplaying = [...displaying];\n    const index = newDisplaying.indexOf(id);\n    if (index !== -1) {\n      newDisplaying.splice(index, 1);\n      return {...state, displaying: newDisplaying };\n    }\n    return state;\n  },\n  'LAYER_STACK_VIEW_HIDE_ALL': ({...state}) => {\n    return {...state, displaying: [] };\n  },\n}, {\n    displaying: [],\n    views: {},\n});"]}
\ No newline at end of file
+{"version":3,"sources":["../src/reducer.js"],"names":["ACTIONS","register","id","renderFn","mountPointId","unregister","toggle","show","args","setArgs","hide","hideAll","views","state","payload","displaying","newView","newDisplaying","length","indexOf","index","splice"],"mappings":"8VAAA,6C;;;AAGO,IAAMA,4BAAU;AACrBC,YAAU,gCAAa,2BAAb,EAA0C,UAACC,EAAD,EAAKC,QAAL,EAAeC,YAAf,UAAiC,EAAEF,MAAF,EAAMC,kBAAN,EAAgBC,0BAAhB,EAAjC,EAA1C,CADW;AAErBC,cAAY,gCAAa,6BAAb,EAA4C,UAACH,EAAD,UAAS,EAAEA,MAAF,EAAT,EAA5C,CAFS;AAGrBI,UAAQ,gCAAa,yBAAb,CAHa;AAIrBC,QAAM,gCAAa,uBAAb,EAAsC,UAACL,EAAD,qCAAQM,IAAR,mEAAQA,IAAR,qCAAkB,EAAEN,MAAF,EAAMM,MAAMA,IAAZ,EAAlB,EAAtC,CAJe;AAKrBC,WAAS,gCAAa,2BAAb,EAA0C,UAACP,EAAD,sCAAQM,IAAR,yEAAQA,IAAR,uCAAkB,EAAEN,MAAF,EAAMM,MAAMA,IAAZ,EAAlB,EAA1C,CALY;AAMrBE,QAAM,gCAAa,uBAAb,CANe;AAOrBC,WAAS,gCAAa,2BAAb,CAPY,EAAhB,C;;;AAUQ,iCAAc;AAC3B,+BAA6B,gDAAoE,KAAlEC,KAAkE,QAAlEA,KAAkE,KAAxDC,KAAwD,uEAA9CC,OAA8C,KAAnCZ,EAAmC,iBAAnCA,EAAmC,KAA/BC,QAA+B,iBAA/BA,QAA+B,KAArBC,YAAqB,iBAArBA,YAAqB;AAC/F,QAAIQ,MAAMV,EAAN,CAAJ,EAAe;AACb,aAAOU,MAAMV,EAAN,EAAUC,QAAjB,CADa,CACc;AAC5B;AACDS,yBAAYA,KAAZ,sBAAoBV,EAApB,EAAyB,EAAEC,kBAAF,EAAYK,MAAMI,MAAMV,EAAN,IAAYU,MAAMV,EAAN,EAAUM,IAAtB,GAA6B,EAA/C,EAAmDJ,0BAAnD,EAAzB;AACA,wBAAWS,KAAX,IAAkBD,YAAlB;AACD,GAP0B;AAQ3B,iCAA+B,mDAA4C,KAA1CA,KAA0C,SAA1CA,KAA0C,KAAhCC,KAAgC,kDAAXX,EAAW,SAAtBY,OAAsB,CAAXZ,EAAW;AACzE,WAAOU,MAAMV,EAAN,CAAP,CADyE,CACvD;AAClB,wBAAWW,KAAX,IAAkBD,OAAOA,KAAzB;AACD,GAX0B;AAY3B,2BAAyB,6CAA6D,KAA3DG,UAA2D,SAA3DA,UAA2D,KAA/CH,KAA+C,SAA/CA,KAA+C,KAArCC,KAAqC,sFAA3BC,OAA2B,KAAhBZ,EAAgB,iBAAhBA,EAAgB,KAAZM,IAAY,iBAAZA,IAAY;AACpF,QAAMQ,uBAAeJ,MAAMV,EAAN,CAAf,CAAN;AACA,QAAIe,gBAAgBF,UAApB;AACA,QAAI,MAAMP,KAAKU,MAAf,EAAuB;AACrBF,cAAQR,IAAR,GAAeA,IAAf;AACD;AACD,QAAI,CAAC,CAACO,WAAWI,OAAX,CAAmBjB,EAAnB,CAAN,EAA8B;AAC5Be,mDAAoBF,UAApB,IAAgCb,EAAhC;AACD;AACD,wBAAWW,KAAX,IAAkBD,oBAAYA,KAAZ,sBAAyBV,EAAzB,EAA8Bc,OAA9B,EAAlB,EAA8DD,YAAYE,aAA1E;AACD,GAtB0B;AAuB3B,+BAA6B,iDAAiD,KAA/CL,KAA+C,SAA/CA,KAA+C,KAArCC,KAAqC,wEAA3BC,OAA2B,KAAhBZ,EAAgB,iBAAhBA,EAAgB,KAAZM,IAAY,iBAAZA,IAAY;AAC5E,QAAMQ,uBAAeJ,MAAMV,EAAN,CAAf,CAAN;AACA,QAAI,MAAMM,KAAKU,MAAf,EAAuB;AACrBF,cAAQR,IAAR,GAAeA,IAAf;AACD;AACD,wBAAWK,KAAX,IAAkBD,oBAAYA,KAAZ,sBAAyBV,EAAzB,EAA8Bc,OAA9B,EAAlB;AACD,GA7B0B;AA8B3B,2BAAyB,8CAA6C,KAAxCH,KAAwC,2CAAjCE,UAAiC,SAAjCA,UAAiC,KAATb,EAAS,UAAlBY,OAAkB;AACpE,QAAI,OAAOZ,EAAP,KAAc,QAAlB,EAA4B;AAC1B,0BAAWW,KAAX,IAAkBE,YAAY,EAA9B;AACD;AACD,QAAME,6CAAoBF,UAApB,EAAN;AACA,QAAMK,QAAQH,cAAcE,OAAd,CAAsBjB,EAAtB,CAAd;AACA,QAAIkB,UAAU,CAAC,CAAf,EAAkB;AAChBH,oBAAcI,MAAd,CAAqBD,KAArB,EAA4B,CAA5B;AACA,0BAAWP,KAAX,IAAkBE,YAAYE,aAA9B;AACD;AACD,WAAOJ,KAAP;AACD,GAzC0B;AA0C3B,+BAA6B,2CAAgB,KAAXA,KAAW;AAC3C,wBAAWA,KAAX,IAAkBE,YAAY,EAA9B;AACD,GA5C0B,EAAd;AA6CZ;AACCA,cAAY,EADb;AAECH,SAAO,EAFR,EA7CY,C","file":"reducer.js","sourcesContent":["import { handleActions } from 'redux-actions'\nimport { createAction } from 'redux-actions'\n\nexport const ACTIONS = {\n  register: createAction('LAYER_STACK_VIEW_REGISTER', (id, renderFn, mountPointId) => ({ id, renderFn, mountPointId })),\n  unregister: createAction('LAYER_STACK_VIEW_UNREGISTER', (id) => ({ id })),\n  toggle: createAction('LAYER_STACK_VIEW_TOGGLE'),\n  show: createAction('LAYER_STACK_VIEW_SHOW', (id, ...args) => ({ id, args: args })),\n  setArgs: createAction('LAYER_STACK_VIEW_SET_ARGS', (id, ...args) => ({ id, args: args })),\n  hide: createAction('LAYER_STACK_VIEW_HIDE'),\n  hideAll: createAction('LAYER_STACK_VIEW_HIDE_ALL'),\n};\n\nexport default handleActions({\n  'LAYER_STACK_VIEW_REGISTER': ({views, ...state}, { payload: { id, renderFn, mountPointId } }) => {\n    if (views[id]) {\n      delete views[id].renderFn; // mutable to just help javascript GC\n    }\n    views = {...views, [id]: { renderFn, args: views[id] ? views[id].args : [], mountPointId } };\n    return {...state, views};\n  },\n  'LAYER_STACK_VIEW_UNREGISTER': ({views, ...state}, { payload: { id } }) => {\n    delete views[id]; // mutable to just help javascript GC\n    return {...state, views: views};\n  },\n  'LAYER_STACK_VIEW_SHOW': ({displaying, views, ...state}, { payload: { id, args }}) => {\n    const newView = { ...views[id] };\n    let newDisplaying = displaying;\n    if (0 !== args.length) {\n      newView.args = args;\n    }\n    if (!~displaying.indexOf(id)) {\n      newDisplaying = [...displaying, id]\n    }\n    return {...state, views: { ...views, ...{ [id]: newView } } , displaying: newDisplaying };\n  },\n  'LAYER_STACK_VIEW_SET_ARGS': ({views, ...state}, { payload: { id, args }}) => {\n    const newView = { ...views[id] };\n    if (0 !== args.length) {\n      newView.args = args;\n    }\n    return {...state, views: { ...views, ...{ [id]: newView } } };\n  },\n  'LAYER_STACK_VIEW_HIDE': ({...state, displaying}, { payload: id }) => {\n    if (typeof id !== 'string') {\n      return {...state, displaying: [] };\n    }\n    const newDisplaying = [...displaying];\n    const index = newDisplaying.indexOf(id);\n    if (index !== -1) {\n      newDisplaying.splice(index, 1);\n      return {...state, displaying: newDisplaying };\n    }\n    return state;\n  },\n  'LAYER_STACK_VIEW_HIDE_ALL': ({...state}) => {\n    return {...state, displaying: [] };\n  },\n}, {\n    displaying: [],\n    views: {},\n});"]}
\ No newline at end of file
diff --git a/package.json b/package.json
index 0edad6b..1f26fe4 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "react-layer-stack",
-  "version": "1.5.1",
+  "version": "1.6.0",
   "description": "Simple but ubiquitously powerful and agnostic layering system for React. Useful for any kind of windowing/popover/modals/tooltip application",
   "repository": {
     "type": "git",
diff --git a/src/components.js b/src/components.js
index 5351bb6..8bd328d 100644
--- a/src/components.js
+++ b/src/components.js
@@ -44,7 +44,9 @@ export const Layer = (namespace = 'layer_stack') => connect(
   componentWillMount() {
     this.props.register(this.props.id, this.props.children, this.props.mountPointId);
     if (this.props.showInitially) {
-      this.props.show(this.props.id, this.props.defaultArgs || [])
+      this.props.show(this.props.id, ...(this.props.initialArgs || []))
+    } else {
+      this.props.setArgs(this.props.id, ...(this.props.initialArgs || []))
     }
   },
   shouldComponentUpdate(newProps) {
@@ -99,5 +101,5 @@ export const LayerContext = (namespace = 'layer_stack') => connect(
     showMe: (...args) => show(id, ...args),
     showOnlyMe: (...args) => hideAll() || show(id, ...args),
     hideMe: () => hide(id),
-  });
+  }, ...views[id].args);
 });
\ No newline at end of file
diff --git a/src/reducer.js b/src/reducer.js
index 1d47635..3b8d524 100644
--- a/src/reducer.js
+++ b/src/reducer.js
@@ -6,6 +6,7 @@ export const ACTIONS = {
   unregister: createAction('LAYER_STACK_VIEW_UNREGISTER', (id) => ({ id })),
   toggle: createAction('LAYER_STACK_VIEW_TOGGLE'),
   show: createAction('LAYER_STACK_VIEW_SHOW', (id, ...args) => ({ id, args: args })),
+  setArgs: createAction('LAYER_STACK_VIEW_SET_ARGS', (id, ...args) => ({ id, args: args })),
   hide: createAction('LAYER_STACK_VIEW_HIDE'),
   hideAll: createAction('LAYER_STACK_VIEW_HIDE_ALL'),
 };
@@ -33,6 +34,13 @@ export default handleActions({
     }
     return {...state, views: { ...views, ...{ [id]: newView } } , displaying: newDisplaying };
   },
+  'LAYER_STACK_VIEW_SET_ARGS': ({views, ...state}, { payload: { id, args }}) => {
+    const newView = { ...views[id] };
+    if (0 !== args.length) {
+      newView.args = args;
+    }
+    return {...state, views: { ...views, ...{ [id]: newView } } };
+  },
   'LAYER_STACK_VIEW_HIDE': ({...state, displaying}, { payload: id }) => {
     if (typeof id !== 'string') {
       return {...state, displaying: [] };