Remove dispatch, refactor decision