Refactored outgoing requests into command pattern