Refactors the way appear/disappear code was implemented by @mrbaker4