implemented observer pattern
can now add machines and items