I see that both "onDoEditSectionLink" and "onSkinTemplateNavigation" are calling method "isAvailable" (which mainly check user preferences) - I think it would make sense to have this check ( $wgEnableVisualEditorUI ) there as well - so then you end up having "availability" logic in one place instead of three.