CHANGED: Migrated to Reflections as suggested by dotNetJunkie.