Subject and Observer extracted from business package to util