Question: I'm working on my game framework and I have, for argument sakes, a TimeService that is responsible for calculating the frame / delta time and the total time the app has been running. TimeService derives from Service which has an Update() method. What's the best way of revealing the TimeService's data like DeltaTime and TotalTime but hiding the Update() method to make sure nothing using the DeltaTime or TotalTime can accidentally call Update() and throw all the timings off? The ServiceManager calls the Update() method once a frame so that's why it's exposed.

Ideas?

Answer: 
I would use interfaces. Basically you have one for things that need to know the time and another for things that need to control the time.
I agree with @stonemetal on interfaces. In C# for instance, you can explicitly implement interfaces so that interface methods are only visible through an interface reference.

Another option is to reduce the visibility of the Update method (make it internal, friend, etc.) with access modifiers.

Much of this depends on your programming language; it's difficult to give a language-agnostic answer.