This resolves #116
The solution I arrived on was solving this with documentation.  I believe that FutureCallbacks in this implementation are useful, but you must obviously be careful in how you use them.  This is slightly enforcing in that it prevents multiple callbacks from being registered, but the implementor must read and understand the documentation about how you must add a callback OR call .get().  Otherwise one of those will result in an error.