Separate Orangutan core (reusable bot code) from Redmine code
Orangutan architecture is quite flexible and allows to create bots quickly and easy. So the bot platform can be much more popular than Orangutan Redmine bot...
However currently Orangutan and its Redmine part are actually the same. For example, one of the core objects is Query which is responsible for accessing DB. Many bots won’t need it - so it should be “removed” from the core.
Also some of contexts require extending core objects like Date etc. I think it can be done by “monkey patching” technique...