Method Refactorings

- Remove code duplication in block.next and block.previous
- Remove boilerplate callback methods in core.js