Service locations are tied to contacts?

Service locations are tied to contacts?

Trying the system out. And what I discovered is that it seems that the whole logic of the app is, I'd say, backwards. There is a Customer - a company. The company has contact persons and service locations can be associated with different contact persons. And assets are associated with: Company - Contact - Service location. Contacts are people (managers, tenants) and are temporary by nature: they can quit, they can get promoted, fired or made responsible temporarily just for the sake of a project. Locations remain (of course, an account can get closed, but the nature of accounts is still less volatile). People are secondary to locations

In my use case scenario I work for residential rental property management companies which manage a number of properties. Each property has a tenant that is to be contacted for the purposes of scheduling and access. They change as leases expire. And the company managing the locations is the one which is billed. Contact persons should be attached (associated) to locations, not vise versa.

So what I would like to see: I create an asset, associate it with a location or a parent asset, and attributes such as address, the location's contact person's (tenant's or manager's) information, the company's responsible contact's information are pulled from that location's record to the asset's record. And when I create a WO, the contact information is pulled from the asset's location's contact info, and the billing information is drawn from the Customer's info, or the account owner's info (if set up). 

So again, contacts should not be levels in the assets structure, but be parallel to it. Each level of the structure (company - location - asset - child asset) can (should) have its own contact which is secondary to the level and is just one of its properties.