refactored Swing and Ball as finite state machines

 * takes away all the ugly booleans