Observer is mostly used from the boundary observable but we can move the onXXX functions into the guard block.