Make isAbstract() and isFinal() methods abstract.
Move setFinal() and setAbstract() to AbstractLayoutIterator.
Add setters for method visibility.
Use getKey() instead of getElement()
FunctionIterator::getContent().
Store block start position.
Add methods setContent(), appendContent() and prependContent().
Merge branch 'feature/edit-stream-function' into develop