protected Pipe(string name, Func<IDictionary<string, object>, IDictionary<string, object>> action)
: this(name)
{
if (action == null)
throw new ArgumentNullException("action", string.Format("Message action cannot be null, you want us to do *something* with the pipe right?"));
StreamAction = ((r, w) =>
{
return DefaultMessageHandler(r, w, action);
});
}