Learning Python by building a Contract Bridge Monster