Step 8: create object to handle single responsibility
Step 9: remove duplication through iteration
Step 10: complete form abstraction