wip
Use Handler with Context instead of Function
wip
Add sync and async stages
Add types and reformat
Merge pull request #1 from mgodave/wip

Wip