Simplify Future to only contain messaging logic

This means that a `Future` is simply a wrapper around waiting for a value.