How do you handle a situation where a mechanical design constraint forces a major change in your software logic mid-project?