Done. But with restricted __init__ definition. Consider improve it in a new branch
Done. But with restricted __init__ definition.