Simple javascript object wrapper that recursively substitutes object-like properties if they match the previously stored values