public void Interact(Interaction i) { OnInteracted(i); }
protected virtual void OnInteracted(Interaction i) { Interacted?.Invoke(this, i); }