extract features widget related functions for reuse between classes #3267
* creation of features role
* make features.tt2 as shared