componentized thing editor