Refactor agent configuration

Implemented a rebased version of #24, along with additional improvements in the disabling of methods and the agent's template