Shift to decorator pattern for request