introduce emaStrategy class

THIS COMMIT IS SUBJECT TO CHANGE