protected abstract bool AllowedFor(InteractionContext context);
protected abstract void DoExecute(InteractionContext context);