At the moment, all the user facing methods have a common signature method_name(self, *, data=None, config=None). To find out the config options, the users should go to the source code, find which methods are called and then infer the config keys and values from the called methods signature or docstrings. To make the user's life easier, we need to document this information in the user facing method_name itself. Our Model object could then dynamically read in the passed in blocks to set an appropriate docstring with all of the possible configuration keys and options.
Related to #36