Add docs to Function
Seperate `Context` into `Context` and `Builder` for locking simplicity
Fix example in docs
Increment version