RxJava could be used so we don't have to re-invent the wheel about reactive stuff.
R-Tree could help us with keeping track of our entities based on position of entities (for quick lookup etc)