Explaining StGermain: An aspect oriented environment for building extensible computational mechanics modeling software