Python Concurrency: The Tricky Bits