Refactor: added interfaces to abstract invokable classes
Code cleanup, added licenses