split out of keystone plugin

plugin passed the item test, hopefully addressed the earlier concerns. let me know if we need to adjust anything else.