Rule
We need to follow at least two rules in order to use this module.
- execute function name must be
main - designing configurations
Here is an image of the process.
Pick tasks and put them in order.

task will be imported so we need to add sys.path.
root
L somewhere
L init.py
L task1.py
L task2.py
L task3.py
L task4.py
# -*-coding: utf8-*-
import sys
root = "somewhere"
sys.path.append(root)
from puzzle2.Puzzle import Puzzle
config = [
"step": "main",
"tasks": [
{"name": "task1",
"module": "somewhere.task1"},
{"name": "task2",
"module": "somewhere.task2"},
{"name": "task3",
"module": "somewhere.task3"},
{"name": "task4",
"module": "somewhere.task4"},
]
]
puzzle = Puzzle()
puzzle.play(config)