Отличный эмулятор, но у меня возникли проблемы при работе с событиями Brain'а из Java-кода.
При использовании EventBus.listenTo() и передаче (в качестве второго параметра) анонимного обработчика любого события кроме стандартного Event (например BeepEvent), линтер выдаёт ошибку о "несовместимости типов", вида
incompatible types: <anonymous Main.BeepEventFunction> cannot be converted to Function1<Event,BoxedUnit>
где BeepEventFunction - это абстрактный класс:
abstract class BeepEventFunction implements Function1<BeepEvent, BoxedUnit> {}
Пробовал передавать разные обработчики, но ошибка как была, так и осталась. Свой код и попытки решения расписал в соответствующем issue на GitLab.
Нашёл решение проблемы, надо просто в теле метода apply() привести Event к BeepEvent.