Initial commit: added core interface, the default impl & the ambient context class (TimeProvider).