For that, it is quite simple actually. You charge your client the $10 domain registration fee and they pay you, then you buy their requested domain at a good registrar like Godaddy.com, namecheap.com (I use namecheap and registerfly), or registerfly.com. After that, you just point the domain to your nameservers and voila! This way, even if they cancel their hosting service, they can still have their domain through you to make NS changes, or even transfer it to another registrar where they have an account. Since becoming an ICANN accredited registrar is extremely hard and financially and time consuming, many webhosts (including knownhost) often do their domain registrations through Enom or something similar. To my knowledge, KnownHost only will register a domain for a new account that is made with them, none extra as it gets to be a pain to manage them plus they are not profitable at all and are widely available inexpensively elseqhere.