Turns out, it is fine (and correct) for Coinmasters to have accessible() methods - but it is NOT fine for CreateItemRequest.getInstance to use that to decide whether to return an instance or not. If it returns an instance when the creation is possible, ConcoctionDatabase.refreshConcoctions will add it to the creatable list - IF it is currently possible to create that item. If CreateItemRequest decides to not return that instance later, it cannot be found and removed from the creatables list.
Bottom line: let ConcoctionDatabase decide what is creatable.
Revision 13063.