Base class for implementing various dependency trees
