DRY code with metaprogramming.