added final, updated test cases, switched TopicConsumer for MessageConsumer