Callback changes mostly
move test classes in UnitTests for better tests