added IConsole interface and DotNetConsole impl