20: Create interface for algorithms 

Task-Url: http://github.com/bejnan/MTFMag/issues/issue/20