cleaned up
publish() and subscribe() working without passing any arguments. should get unsubscribe() working next
unsubscribe() implemented
passing arguments