Make more use of DefineConsoleMethod

Resubmission of #887 with some fixes.
I think remove a ```const``` is a very bad idea :(