The development of the "FeedFish" app will be done incrementally in several steps, including (a) creating swimming fish, (b) adding falling candy, (c) implementing collision detection, and (d) introducing rising bubbles. To begin, you must use the provided base code as a starting point and separate gaming objects from the Main class. In order to implement the game's functionality, you are required to use abstract classes and optionally an interface. import java.awt.*; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.util.ArrayList; import java.util.List; /** A simple 2D animation game where players can score points by feeding. */ public class Main extends AnimationNoApplet { private static final int NUM_FISH = 5; // WRITE YOUR FIELD HERE public Main(String[] args) { super(args); addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { dropCandy(); } }); } /** Called when the mouse is clicked to drop a candy. */ private void dropCandy() { // WRITE YOUR CODE HERE } // WRITE YOUR METHOD HERE public static void main(String[] args) { new Main(new String[]{"width=600", "height=700", "delay=100"}).run(); } }.