I would like implement Sugar CRM for canadian real estate agent who helps cutomers Buy/Sell residential properties.

I need to log and managage different workflows stages for every Sales Opportunity.

Some example of these workflow stages are Property Showings, Offers, Waivers, Closing for Buyers
and stages like Listing, Open houses, Offers and Closing for Sellers.

For each stage, I need to store custom list of new fields . FOr eg, for Showing, I need to log the details of the property shown within my own set of fields.
Is it correct to use opportunities is this way. Are there any other features that can be used for this purpose