simplifying: removing concept of onAttach and onRemove