FIX BUG: Need to invoke invalidate on parent view (if applicable) as well
Create getters/setters to access viewport position and zoom info