Interface Task<T extends Task<T>>