A Framework for Task Design