Setting response to null allows the component to always regenerate.
Refactor sub_tabs within lessons to use AsyncLoader.
AsyncLoader supports props.props for transparent prop merging into response data.

This is a more explicit (and intuitive) interface where AsyncLoader can be given prop data to pass along to the component actually being rendered, as AsyncLoader is just a middleman. Note the props are merged with the response so pay attention to key names.
Remove global MK references.
Gateway acts as parent component.

This allows for smaller components that don't have to worry about state (ideally).