Oh, no. This is bad. Really bad.

@sumanmukherjee03 , removing the context for nil will blow up the dispatching part of the process.

```ruby
# DispatchRider::QueueServices::Base
      def pop(&block)
        obj = head
        if obj.message
          block.call(obj.message) && delete(obj.item)
          obj.message
        end
      end

      def head
        temp = raw_head
        OpenStruct.new(:item => temp, :message => construct_message_from(temp))
      end
```

```ruby
# DispatchRider::QueueServices::AwsSqs
      def raw_head
        queue.receive_message
      end

      def construct_message_from(item)
        item && deserialize(sns_message_from(item) || item.body)
      end
```

Like the other queues ```raw_head``` could return nil when it's empty.

```ruby
# DispatchRider::QueueServices::Simple
      def raw_head
        queue.first
      end
```