Added methods to programmatically initiate a fling or dismiss
Properly recycle undo state