split component sleep and wakeup into new serialization trait;