specific run methods should be private, public interface through 'via' and 'run'