Simplify internal API and extend its flexibilty

By using a list `args` and a dict `kwargs` to save the parameters for
the loader function.