Major overhaul: completely restructured Request functionality with HTTPResult