I don't know how comfortable you are with JS but I changed the code on the screening widget to not require a layer to be selected before you create a map. Or you can create a custom widget to do that.
Here is some code that I used to create custom buffer.
mysymbol = new SimpleFillSymbol(SimpleFillSymbol.STYLE_NONE, new SimpleLineSymbol(SimpleLineSymbol.STYLE_DASHDOT, new Color([255, 0, 0]), 2), new Color([255, 255, 0, 0.25]));
geodesicBuffer.distances = [thebufferdistance];
geodesicBuffer.unit = bufferunit;
geodesicBuffer.outSpatialReference = this.map.spatialReference;
geodesicBuffer.geodesic = true;
geodesicBuffer.unionResults = true;
bufferGraphicsLayer = new GraphicsLayer();
esriConfig.defaults.geometryService.buffer(geodesicBuffer, lang.hitch(this, function (evt) {
resultEvent = evt[0];
var geodesicUserGraphic = new Graphic();
geodesicUserGraphic.setAttributes({
"name": "Buffer"
});
geodesicUserGraphic.geometry = resultEvent;
geodesicUserGraphic.symbol = mysymbol;
bufferGraphicsLayer.add(geodesicUserGraphic);
this.map.addLayer(bufferGraphicsLayer);