Gaoling: Implementing subcommands for command line applications
blog.ralch.com