Executed work

Provide separate triggered and executable work interfaces. Makes it clear to the clients that they can't execute the triggered works but a work runner is the one who executes the work.