Created LockableSiteMap, LockableSiteMapNode, RequestCacheableSiteMap, RequestCacheableSiteMapNode, and RequestCache to assist in breaking up responsibilities using the Decorator pattern.