add lookup and update register! to handle optional data
Merge pull request #1 from liquidz/optional-cache

add lookup and update register! to handle optional data