- The consumer code needs a much cleaner abstraction
    In the end, it's two-phase, e.g. receive message, ack message, perhaps we make this a
    first-class citizen in the API on the consumer side where the consumer calls:
    Receive() and gets the sequence of the message in question (or a specific value for
    gating/idling?) and then calls Ack/Confirm etc with the message sequence?

- Wireup DSL
- Rewrite all code test first (including diamond pattern)
- Benchmark code (go test -bench=.) (with GOMAXPROCS=2 if env GOMAXPROCS=1)
- Squeeze little bits of performance here and there by trying a few different things
	e.g. pointers vs structs, padding, etc.
- Investigate ways to utilize an int32 under the hood but have it be exposed as an int64?
   e.g. utilizing two int32s? This would allow us to remove the atomic statements surrounding
   i386 and ARM architecutes, but may be more effort than it's worth for our particular
   use case...
- Understand why "slower" consumer code is faster and more consistent when performing single-item
	publishes

- Cursors should probably all be created at the same time to keep them as close together as possible:
  https://news.ycombinator.com/item?id=7800825


- I need to get some help doing some low-level profiling the application to find out where
  the bottlenecks are and determining how the Go scheduler is hindering performance, if at all.

- More assertive tests on CPU ordering, e.g. claim a slot which has multiple values
  perform a computation on the sequence in some deterministic way and store each computation
  as one of the values. Then on the reader side assert that the struct values are correct
  for that given sequence.

- Integration suite that can exercise the Disruptor code on:
  1. Multiple Go runtime versions, e.g. (1.1, 1.2, 1.3, etc.) (plus point releases and the latest tip)
  2. Multiple CPU architectures: ARM, i386, AMD64
  3. Multiple operation systems: Linux, OSX, Windows, etc.
  Ideally each of the above combinations would be an individual exercise

- contributors
- license
- readme (Github markdown?)

- Website with cool images and documentation? (e.g. GoConvey)