Added some tag functionality, refactored classes
Merge remote-tracking branch 'extendedmind/master'