I have two components, the core component and the visual component. The core component does all the game logic and does all the client/server computing. This component is always on the object, both client and server side.
Then I have the visual component, which is client side only.
My question is, should the core component tell the visual component the information it needs and the visual component completely unaware that the core component exists, or should the visual component always update and fetch information from the core component and have the core component completely unaware of the visual component existing?