public abstract void GetComponent(T self, Entity component);
public void Run(object o, Entity component) { this.GetComponent((T)o, component); }