Added ICacheable mechanism and updated documentation.