Text this: Using change intentions to guide evolution and versioning in model driven software product lines