make drain-channel thread-safe, make ticker master-slave capable