Creating Objects that Build Themselves