made Function class more 'complete'
shuffled around public and private functions
changed method of getting/setting Function names
added hooks for new function triggers
test data for new feature
demonstrates new functionality