turn event and commands into persitsable subject and observer