Playing around with Python, Design Patterns and other things