Dynamic IT Shop approval workflow levels

Hello,

Was wondering if I could get some suggestions or best practices for this customization.  

First, let me describe the scenario.  Customer wants to make requestable, hundreds of roles which belong to hundreds of applications.  Applications will be defined as Service Categories and the roles will be the Service Items under that Service Category.  That being said, customer wants the approvals to be set at the Service Category/application level.  Basically, an approval workflow for each application which will be applied to each role request.  

Now the complicated part is each application can have a different approval structure; i.e., different owners, groups, or admins for approvers as well as a different number of approval steps.  Obviously, we can't create a workflow for each application because that would number in the hundreds, so, what the customer is asking for, is some type of universal or generic workflow that can be applied to all applications where the approvers can be dynamically changed at the Service Category level of the request.  

So far I've implemented some logic for a basic approval level 1 step.  In the screenshot below, you can see generic approvel level steps labeled "Approval Level 1 Check" and "Approval Group 1". 

These approvers are defined in custom columns of the AccProductgroup (Service Category) table.

If an approval group is defined for Approval Group 1 of the application, then approval level 1 decision step is fulfilled and it goes on to the approval level 1 group for approval.  It would then to go the approval level 2 decision step and so on and so forth.  

Is this a feasible solution?  Am I missing something OOB that could make this approval process a lot easier?  Looking for recommendations and/or suggestions.  Thank you.