1. A robot trainable, via interactions with a human trainer, to manipulate objects, the robot comprising: at least one appendage for manipulating an object; a controller for operating the at least one appendage; a computer memory for storing a library of prototypes, at least one of the prototypes defining a type of task to be performed by the appendage, the task comprising at least one of a movement of the appendage or a manipulation of the object; a perception system for receiving physical input from the human trainer related to the task; and a training module for creating an instance of the at least one prototype by specifying at least one attribute thereof based on the physical input; and a task-execution module for executing the instance of the prototype via commands to the controller, thereby causing the appendage to perform the task.