triggers now determine whether a runnable may be abstract