Several programming challenges I think of in order to try new APIs, design patterns, etc.