upgrading to java8, removing Callback interface

* upgrading source and target versions to 1.8
* upgrading version numbers to 2.0.0
* removing Callback interface, using Supplier instead