Understanding how hypervisors work is key to setting up a test lab on a home server. In this article, read about lessons I learned setting up a VM test lab on Unraid.
Bad Code Structure
Too Much Logic in UX
Putting too many business rules into your UX layer is just asking for trouble. Hiding and show fields/columns and what not makes sense to have in the UX layer. But it shouldn't have complex business rules which require a lot of unit tests. Chances are you going to have to repeat those rules somewhere in your logic layer which leaves with two problems, duplicate logic, and duplicate tests. Which makes your life a lot harder than it needs to be. I would look for ways to push the business rules into a centralized place for both the logic layer and the UX layer to interact with.