Separate the code base into 4 libraries, one file per library. Note that FutureBinding is moved from the nested com.thoughtworks.binding.Binding object into com.thoughtworks.binding package.
Binding.apply does not require implicit parameter any more.