Move visibility fetch to model