I'd rather use delegators here instead of metaprogramming