title: Add a decorator to a new property with a class decorator
body: <p>Pretty much all of I want to know is in the title.
  I would like to know how to add a new property with its own decorators with a class decorator.</p>
  
  <p>I want to create a class decorator Api(string[]) which expose the class methods listed in the class decorator.
  To do that I want to emit an event with <code>EventEmitter</code> from Angular, to do that I have to add the <code>@Output()</code> decorator to a new property.</p>
  
  <p>Can I?</p>
  
  <p>Following an exemple: I just have MyClass with methods process, open, close.
  I would like to create decorator(s?) to expose whatever methods I want (here, open and close). I imagined a class decorator which adds the <code>api</code> property and a method decorator to expose a method, maybe?</p>
  
  <pre><code>class MyClass {
    @Output() api = new EventEmitter();
  
    $exposedMethods: object = {};
  
    constructor() {
      this.$exposedMethods = {
        open: this.open.bind(this),
        close: this.close.bind(this)
      };
      this.api.emit(this.$exposedMethods);
    }
  
    process() {
  
    }
  
    open() {
      // stuff...
    }
  
    close() {
      // stuff...
    }
  }
  </code></pre>