What are the key points of 'existing code' in the target-lead-account worfklow that we would want when making a new set of modules

We have real estate deals that have 3 stages that could be understood as target, lead , opportunity. they are introduced to us buy a broker. we use the crm for investors, developers and other relationships and Im not sure we can use those modules for the deal as what we are tracking and recording is totally different.

Most deals die in the lead stage, and we dont want a ton of active deals in the opporutnity stage that are not actual deals we want to pursue. additionally, there is lot of data and calcuations that we want to record.

If a deal matches certain metrics, it can move to a lead. If after talking to the broker or visiting, it can move to an opportunity. At that point, the live deal can be tracked with the various opportunity stages that are customizable.

With that being said, does anyone have any suggestions on how to implement this? if we make new modules, ive heard there is a lot of pre existing code in thet target-lead-opportunity modules. What exactly is there, and what should we focus on copying into this new set of modules?

additionally, the logic of the workflow is that the broker , who is tracked in the crm, is not essential.

however, the deal itself