Initial commit

Basic observer system in place; components can talk to each other about
updates to their respective systems