Extract ast manipulation to its own module
Extract methods for managing contexts, examples and hooks
Extract a description_name method
Remove unused context field
Rename methods for avoid duplication
Update README with new style

:metal: