Custom tasks, could override the internal methods.