ForeignFunctionInterface + Refactorings