Design Patterns implementations in python