Creating an Approval Process

We recently had a requirement to add an approval process to an entity in CRM. This was a custom entity (Comment), where most of the fields were prepopulated from the web, but had a response field that had to go through multiple layers of approval/review. The review process was once the comment was received it would be assigned to a responder, which would then go through manager, legal and director approvals.