docs: function buffer(patch) {
  		var mw = (patch || core.base());
  		mw.lines = [];
  		mw.enabled = true;
  		mw.writeln = function (line) {
  			if (mw.enabled) {
  				mw.lines.push(String(line));
  			}
  		};
  		//TODO add wordwrap?
  		mw.concat = function (seperator, indent, sepAfter) {
  			if (mw.lines.length > 0) {
  				sepAfter = (typeof sepAfter !== 'undefined' ? sepAfter : true);
  				seperator = (typeof seperator !== 'undefined' ? seperator : '\n');
  				indent = (typeof indent !== 'undefined' ? indent : '');
  				return indent + mw.lines.join(seperator + indent) + (sepAfter ? seperator : '');
  			}
  			return '';
  		};
  		mw.clear = function () {
  			mw.lines.length = 0;
  		};
  		if (!patch) {
  			mw.toString = function () {
  				return '<miniwrite-buffer>';
  			};
  		}
  		return mw;
  	}