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
We do not need to update the version of parent as nothing has been changed in it.