Issue #2, register constructor, in case parent needs to create such an object befor the child does
No need to copy args
Issue #5 add some checkers to callback
core lib: crypto Hash