(cleanup) Move bounceback animation into separate module for reuse