You should definitely create animation from scratch by extending GWT's native
Animation class. That way you will have method
void onUpdate(double progress)
where progress goes from 0.0 to 1.0, so you could start any operation whenever you'd like. Make sure you store either initial/end state or initial state and difference into Animation class as you'll set animated properties by yourself. For example:
void onUpdate(double progress){
shape.setX( start.getX() + diff * progress )
}
As for the sound, I'm not sure if this library supports preloading. Best bet would be to look into library's wiki to find that out, but quick glance over it did not reveal anything about it.
Hope this helps...