unify behavior when watching for loaded resources/triggering needsDraw
cleanup