This is how a web developer would approach the problem of creating a robot.
step1: Identify a meaningful stand alone protion of the robot AKA component.
step2: Create a dynamic component using XML mixed with any of the following languages Ruby, Javascrip or python
step3: Create a bigger component by put component together to create a robot component.
Everythig is a component.