Basically each step in your form is a state in the state machine. When a user submits one step, you move the state machine to the next state. You can add conditionals for when to skip a step, and you can specify validations for each step that need to be run before a state-change (e.g. credit card needs to check out before moving from the credit card step to the confirm step).
Did you mean "How do you monetize it?" (if you meant AdSense) or, did you mean "AdWords" if you really meant "market it"? AFAIK, AdSense is for making money from your content, while AdWords is for marketing your products / services.
For those who want to learn how to write their own UNIX tools, and specifically, how to write tools that work well with other UNIX tools, such as the shell and friends, this article may help -
Developing a Linux command-line utility:
http://www.ibm.com/developerworks/linux/library/l-clutil/
Although, strictly speaking, "I write codes" may not be wrong, since, at root, it refers to "I write programming codes", i.e. the codes used to convert human-language statements of intent into stuff that computers can "understand" and execute. But my reference was more to the current usage, which is "my code", not "my codes", for "my programs" or "programs written by me".
I think you're referring to commonly accepted _usage_, not "correctness", when you say "code is always singular". The phrase "I write codes" (as in, "I write programming codes for a living)" is definitely okay/correct, IMO (for the reason given in my previous comment above) - though no experienced programmer with a good command of English would use it in normal conversation, because it's not colloquial. I was referring more to a situation like if he/she is talking to a layman and happens to use such a phrase, to describe his/her work. Remember, I said "strictly speaking" - and strictly speaking (in other words, pedantically), I don't think there is anything wrong with that statement.
But overall, I get your point. For a similar yet contrasting example, consider this real statement of an ex-boss of mine: "I can tell you what code to write, but I can't write _a code_!" which was both BS and grammatically wrong, of course :-) He did not stay my boss for long ...
That's interesting. Can you elaborate on it, maybe with an example?