refactored ExecuteReaderAsync to do better exception handling
Refactoring Loader and SessionImpl