For ANY Action class, we start with focusing on the functionality (in Java the methods) I need to design WHAT the class is going to do, before I code HOW it will do it I need to start by listing the methods, long before I code them I list them in the main as I design the program flow. Java formalizes the process as an Interface, an Interface is a list of methods, and is critical during design for example: Java defines a list of method EVERY Database MUST support the oracle and DB2, and MySql need to code their Database Drivers to implement these methods