object hydration now supports variable depth strategy. default depth = 1