I don't have a ready answer for every problem. What you suggested seems reasonable but I can't say whether it is a good approach or not. You need to think whether it satisfies your requirements or not.