add slots for Event
bring back basic implementation for channels