Cleaned up model dynamic method calling

Not sure why these methods were protected like this. Also improved the error you get from undefined methods a bit more clear.