Adding ID to UI elements, adding workflow integration spec.
Modified Observers so that they are easier to test/insantiate.
We cannot use reflection to inantiate observers with default arguements.
Can now set observer's name and function dynamically.