This post is part of a series. We discuss how to build a custom module using Drupal 7's API.
In our previous posts "Drupal 7 Multi-Step Form (FAPI) with Table Report" and "Making Our Report Sortable and Paged - Drupal 7 Multi-Step Form (FAPI)", we created a multi-step form that allows users to add new records. We display a synchronized (dependent) table report which is both sortable and page-able.
In this post, we add "Modify" and "Delete" record operations. The following screen-shots display our new form and report.

In order to accommodate the new record operations, we add a field set. The field set notifies the user which record operation is currently selected ("Add" is selected by default). The field set acts as a container for the record operation form. Our module dynamically changes the field set and form elements when users select a record operation (E.G. Add, Modify or Delete).
The following screen-shots display the new "Modify" and "Delete" form elements.


The "Modify" operation works the same way as the "Add" operation. Both operations are divided into 2 steps (AKA multi-step).
Our module now supports three record operations. Thus our module requires additional source code instructions. It's a good practice to keep your internal design (source code structure) modular. Keep the size of individual methods as small as possible. Well organized source code allows the developer to identify logic flow. Well organized code supports changeability. a measurement of how easy is your code to change.
In that spirit, we divide the form definition (hook_form implementation) into helper methods.