[refactoring] reorganized AbstractScope to allow evaluation of external expressions