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, wherein (i) the instance defines the task in terms of generic, spatially unspecified motions of the appendage and (ii) the at least one attribute specifies a manner of physically performing the task by the appendage; 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 in accordance with the instance and the at least one attribute.