Improvements:
- Better error handling.
- Passing functions as context in templates will use the value returned.