allow `data` and `el` options in component definition as functions