Make `ready` independent of attached state and make distribution go top-down logically and composition unwind bottom-up