Update interfaces after discussion #1, add AbstractCheck.