Cognitive Design for Artificial Minds