Start implementing observers
Add simple observers
Make observer behavior more specific
(WIP) Add more complex matchers to observer
Method rename
Fix a runtime error in dynamic protocol dispatch
Initial (not working) implementation of removal-observers. Noticed some unclear edge cases
Removing components can be observed now, but implementation is slow and semi-horrible
Rename observer factory methods to make their behavior a little bit more clear
Add some ideas
Started refactoring component types to use static name() method
Work in progress
Updated test library
Finally managed to have a static method for component types return a string without crashing the compiler
Fix all tests