Refactoring send component.

Per the scheduling proposal Send now posts the sendDone function
to the main thread's scheduler.

Please test this new implementation for performance. It should be
significantly better.