Add support for custom commands and variables

:trumpet: