Support callables for custom logic.
Add setup.py file.