Started working on issue #16:

* Replaced the Gate class with a GateManager class.
* Created HashMap structures to effectively query for gates.
* Refactored to get the plugin running.

Optimizations are not yet in place! Further work is necessary.