Refactor CLI factories

Refactor factories to reduce duplicated code regarding merging the
default options with provided options.

Factories now returns the data returned by the CLI object create method
instead of updating the already provided options. This avoid false
positives for options that have been provided but are not listed by the
info output.

Also, update content host factory
If not, then perhaps `time.sleep` should be used in a separate PR. This is the only place in the entire codebase in which `sleep_for_seconds` is used, and after reading its source code, it seems to me to be a pretty useless function.