The component uses the name 'project' to describe which some may prefer to be named 'categories. It is not unexpected that in our solicitor example these might better be named contracts. These may be have a year as a sub project: i.e. Site A with sub projects 2014, 2015 2016 etc., or alternatively the year could be part of the 'project name'. i.e. 'Site A 2015' so each contract is an individual 'project'.
An alternative might be that each 'contract' type has a specific 'contract number' or 'client name'. In all up to ten sub levels are configurable which should be sufficient for most (any?) installation.
Issues may only be 'private' in that only the 'raiser' and the site administrators (and assignees) would be able to see them. There may/would probably be a few 'public' (generally viable) issues.
It is also possible that only registered' users/members to be able to open/update their own 'issues'.