Thanks Curtis.
One other thing (I didn't know the reason behind it, so I didn't change it):
Why is there a default mutable argument in the **__init__()** method? I'm referring to **option={}**.
Do you know that every instance will refer to the same dictionary as a result? was that the intention?