Restructured the Shot class hierarchy