manage dependency by isolating objects