Current issue permission levels are not sufficient. Project admins should be able to define custom issue permission levels and specify in more detail what activities the level allows such as: closing other members' issues, viewing other members' issues, viewing unpublished issues, changing assignees or other issue properties, visibility of issues depending on category/type etc.
Take this just as an example of what kind permissions could be controled by the project admin, but I think the issue permissions definitely need to get more customizable in order to work properly in the complex construction environment.