Refactor Proactor into an abstract class