Version 4 OO modification

  1. Will fix slowness, but first let's make it OO.
  2. Thread object.
  3. Callback design pattern.

Version 5 Limit use of critical data

  1. Speed up by minimizing interlock
  2. Try different thread counts to note diminishing returns
    1. Threads <> cores
  3. Go back and fix InvCounter2 to run as fast as InvCounter0 with single thread, by using *info->counter just once. Limits on optimization through pointers