Rename value to depth.
New Dependencies class.
Use override keyword.
#1 Implement flatMap.