thunk_method shouldn't be private, since the use case is setting up value methods for a module and making it private would be a bit useless then.