Terminal User Interfaces in PowerShell
blog.ironmansoftware.com