Apply new arg checking method in Download module

apply new argument checking method in download module
type checking: add new "Callback" type