Extract celestial model into it's own class