kubecfg rewrite to be more modular and support more commands