Removing observer pattern from components