Start implementing reflection

This is a horribly broken check-in, but I have to do what I can manage
in a super-limited time frame right now