added Task#once* and Task#ready methods