Puzzle controller

refs#3