get rid of methods to registerSth, instead of it deep object clone, simplified api