Added observer (pub/sub) to core, Completes issue #16