Refactored list and tree to have abstracts; differentiating gets, adds and removes between them.