static void Main(string[] args)
{
using(var fr = new FlowRuntime())
{
var frc = new FlowRuntimeConfiguration();
var pageBufferContainer = new DataContainer<PageBuffer>();
var frontend = new Frontend();
frc.AddFlow(new Main(new Formatter(),
frontend));
frc.AddFlow(new Features(new CommandlineParser(pageBufferContainer),
new TextFileAdapter(),
new LineBuffer(pageBufferContainer),
new Pager(pageBufferContainer)));
fr.Configure(frc);
frontend.displayFirstPage += fr.CreateEventProcessor(".displayFirstPage");
frontend.displayLastPage += fr.CreateEventProcessor(".displayLastPage");
frontend.displayNextPage += fr.CreateEventProcessor(".displayNextPage");
frontend.displayPrevPage += fr.CreateEventProcessor(".displayPrevPage");
//fr.Message += Console.WriteLine;
fr.Process(new Message(".run", new[]{"test1.txt"}));
fr.WaitForResult();
}
}