Designer refactoring

1. Most events between designer views are avoided by using more promises. 
1. Provider selector directive can be bound with ngModel.
1. Repeating code in actions is placed inside action filters.