Java project to play with design pattersn