I am new to sitecore and after watching the helix related videos and commerce videos and reading the documentation, I understand that foundation layer needs to be most stable layer and code in it must not change. Since, I haven't implemented any solutions in sitecore commerce yet, I'm looking for some advice here.
When I look at the helix implementation of sitecore commerce in sitecore.demo.retail solution, a lot of code in Sitecore.Foundation.Commerce projects seems like it would change with changes in user requirements, specially in the managers solution folder. To me, it seems like the idea of this project is the integration with commerce connect.
Does anyone know the reason behind having this project in foundation layer? If I build my own solution with only commerce connect code in this layer and all the managers in their respective features, would it adversely affect my solution in the long run?