 
 	public class ReactionController extends Sprite
 	{
-		// >>> PUBLIC PROPERTIES
+		// >>> STATIC PROPERTIES
 		static public var asset_host:String = '';
 		static public var container:DisplayObjectContainer; // ONLY for addChild
 
+		static private var before_filters:Dictionary = new Dictionary;
+
 
 		// >>> PROTECTED PROPERTIES
+		protected var content:*;
+		protected var layout:*;
 		protected var params:Hash;
 
 

		// >>> PRIVATE METHODS
		// replaces default context menu with custom, empty menu
		// add items to menu with new_context_menu_item()
		private function create_context_menu () :void
		{
			contextMenu = new ContextMenu();

			var c:ReactionController = new klass();
			container.addChild(c);
			return c;
		}

		// For use ONLY in ReactionController subclasses for static init:
		// extend(prototype.constructor)
		static public function extend (c:Class) :void
		{
			// define before_filter method
			c['before_filter'] = function (...args) :*
			{
				args.unshift(c);
				return ReactionController.append_before_filter.apply(null, args);
			};
		}

		//static public function redirect_to (o:Object) :void
