Support before and after task