How I Refactored a Monolithic Code Base Into an Add-In Architecture